qmake隱藏變量

羅列了一些Qt君經常使用到的qmake隱藏變量,由於這些變量沒有寫入到Qt官方的qmake文檔中,意味着後續版本中說不能用就不能用了,只是作參考用。Qt君上手(Qt5.12.2)體驗了這些隱藏變量,大部分均可以使用。

  下列的這些qmake隱藏變量都能在Qt5.12.2版本中使用。windows

實用隱藏變量

| 變量 | 含義 | 備註 |
| --- | --- | --- |
| _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項目文件,<br/>在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/Undocument...unix

相關文章
相關標籤/搜索