qmake隐藏变量

罗列了一些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有关信息的变量 【qmake隐藏变量】??获取到当前使用到的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

    推荐阅读