羅列了一些Qt君常用到的qmake隱藏變量,因爲這些變量沒有寫入到Qt官方的qmake文檔中,意味着後續版本中說不能用就不能用了,只是做參考用。Qt君上手(Qt5.12.2)體驗了這些隱藏變量,大部分都可以使用。
下列的這些qmake隱藏變量都能在Qt5.12.2版本中使用。
實用隱藏變量
變量 | 含義 | 備註 |
---|---|---|
_DATE_ |
當前日期和時間 | Qt4.3.4引入 |
_FILE_ |
qmake正在解析的當前文件名 | Qt4.3.4引入 |
_LINE_ |
qmake正在解析的當前行號 | Qt4.3.4引入 |
IN_PWD |
源樹的基本目錄 | Qt4.3.4引入 |
DIR_SEPARATOR |
正斜槓或反斜槓字符,具體取決於主機平臺 | windows是反斜槓\ |
QMAKE_DIR_SEP |
正斜槓或反斜槓字符,具體取決於主機平臺 | unix是斜槓/ |
QMAKE_QMAKE |
qmake執行文件的絕對路徑 | *.pro 項目文件,在Qt 5.12.2看到已是公開變量 |
一些跨平臺命令
變量 | 含義 | 命令對照(win平臺) |
---|---|---|
QMAKE_CHK_DIR_EXISTS |
檢查目錄是否存在的命令 | if not exist |
QMAKE_COPY |
複製文件命令 | copy /y |
QMAKE_COPY_FILE |
複製文件命令 | copy /y |
QMAKE_COPY_DIR |
複製目錄命令 | xcopy /s /q /y /i |
QMAKE_DEL_DIR |
刪除目錄命令 | rmdir |
QMAKE_DEL_FILE |
刪除文件命令 | del |
QMAKE_MKDIR |
創建目錄命令 | mkdir |
QMAKE_MOVE |
移動或重命名文件或目錄命令 | move |
獲取Qt有關信息的變量
獲取到當前使用到的Qt或QMAKE的一些信息(版本,執行文件路徑,編譯器路徑等)。使用方法如:$$[QMAKE_VERSION]
,需要注意的是使用方括號包含變量。
變量 | 含義 |
---|---|
QT_VERSION |
Qt版本 |
QMAKE_VERSION |
qmake版本 |
QMAKE_MKSPECS |
mkspecs目錄路徑 |
QT_INSTALL_BINS |
Qt安裝目錄下bin路徑 |
QT_INSTALL_DATA |
Qt安裝目錄下的編譯器(根)路徑 |
QT_INSTALL_PREFIX |
Qt安裝目錄下的編譯器根路徑 |
QT_INSTALL_DEMOS |
Qt安裝目錄下的示例路徑 |
QT_INSTALL_EXAMPLES |
Qt安裝目錄下的示例路徑 |
QT_INSTALL_DOCS |
Qt安裝目錄下的文檔路徑 |
QT_INSTALL_HEADERS |
Qt安裝目錄下的頭文件路徑 |
QT_INSTALL_LIBS |
Qt安裝目錄下的庫路徑 |
QT_INSTALL_PLUGINS |
Qt安裝目錄下的插件路徑 |
QT_INSTALL_QML |
Qt安裝目錄下的QML路徑 |
QT_INSTALL_TRANSLATIONS |
Qt安裝目錄下的翻譯路徑 |
- 使用示例:
message($$[QMAKE_VERSION])
message($$[QT_VERSION])
message($$[QMAKE_MKSPECS])
message($$[QT_INSTALL_BINS])
message($$[QT_INSTALL_DATA])
message($$[QT_INSTALL_DEMOS])
message($$[QT_INSTALL_DOCS])
message($$[QT_INSTALL_EXAMPLES])
message($$[QT_INSTALL_HEADERS])
message($$[QT_INSTALL_LIBS])
message($$[QT_INSTALL_PLUGINS])
message($$[QT_INSTALL_PREFIX])
message($$[QT_INSTALL_QML])
message($$[QT_INSTALL_TRANSLATIONS])
- 輸出:(Qt君安裝的Qt5.12.2版本路徑在
C:/Qt/
)
Project MESSAGE: 5.12.2
Project MESSAGE: 3.1
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017/mkspecs
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017/bin
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017
Project MESSAGE: C:/Qt/Qt5.12.2/Examples/Qt-5.12.2
Project MESSAGE: C:/Qt/Qt5.12.2/Examples/Qt-5.12.2
Project MESSAGE: C:/Qt/Qt5.12.2/Docs/Qt-5.12.2
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017/include
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017/lib
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017/plugins
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017/qml
Project MESSAGE: C:/Qt/Qt5.12.2/5.12.2/msvc2017/translations
相關閱讀
關於更多的qmake隱藏變量可以查看下列地址的內容。
https://wiki.qt.io/Undocumented_QMake