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有关信息的变量
获取到当前使用到的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