羅列了一些Qt君常用到的qmake隱藏變量,因?yàn)檫@些變量沒(méi)有寫(xiě)入到Qt官方的qmake文檔中,意味著后續(xù)版本中說(shuō)不能用就不能用了,只是做參考用。Qt君上手(Qt5.12.2)體驗(yàn)了這些隱藏變量,大部分都可以使用。
??下列的這些qmake隱藏變量都能在Qt5.12.2版本中使用。
實(shí)用隱藏變量
| 變量 | 含義 | 備注 |
|---|---|---|
_DATE_ |
當(dāng)前日期和時(shí)間 | Qt4.3.4引入 |
_FILE_ |
qmake正在解析的當(dāng)前文件名 | Qt4.3.4引入 |
_LINE_ |
qmake正在解析的當(dāng)前行號(hào) | Qt4.3.4引入 |
IN_PWD |
源樹(shù)的基本目錄 | Qt4.3.4引入 |
DIR_SEPARATOR |
正斜杠或反斜杠字符,具體取決于主機(jī)平臺(tái) | windows是反斜杠\
|
QMAKE_DIR_SEP |
正斜杠或反斜杠字符,具體取決于主機(jī)平臺(tái) | unix是斜杠/
|
QMAKE_QMAKE |
qmake執(zhí)行文件的絕對(duì)路徑 |
*.pro項(xiàng)目文件,在Qt 5.12.2看到已是公開(kāi)變量 |
一些跨平臺(tái)命令
| 變量 | 含義 | 命令對(duì)照(win平臺(tái)) |
|---|---|---|
QMAKE_CHK_DIR_EXISTS |
檢查目錄是否存在的命令 | if not exist |
QMAKE_COPY |
復(fù)制文件命令 | copy /y |
QMAKE_COPY_FILE |
復(fù)制文件命令 | copy /y |
QMAKE_COPY_DIR |
復(fù)制目錄命令 | xcopy /s /q /y /i |
QMAKE_DEL_DIR |
刪除目錄命令 | rmdir |
QMAKE_DEL_FILE |
刪除文件命令 | del |
QMAKE_MKDIR |
創(chuàng)建目錄命令 | mkdir |
QMAKE_MOVE |
移動(dòng)或重命名文件或目錄命令 | move |
獲取Qt有關(guān)信息的變量
??獲取到當(dāng)前使用到的Qt或QMAKE的一些信息(版本,執(zhí)行文件路徑,編譯器路徑等)。使用方法如:$$[QMAKE_VERSION],需要注意的是使用方括號(hào)包含變量。
| 變量 | 含義 |
|---|---|
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安裝目錄下的庫(kù)路徑 |
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
相關(guān)閱讀
??關(guān)于更多的qmake隱藏變量可以查看下列地址的內(nèi)容。
https://wiki.qt.io/Undocumented_QMake