qmake隐藏变量

Posted qthub

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于qmake隐藏变量的主要内容,如果未能解决你的问题,请参考以下文章

Qmake 5.3:定义全局变量

Sphinx、reStructuredText 显示/隐藏代码片段

在android中显示隐藏片段

仅在一个片段中隐藏状态栏并在其他片段中显示

在Android Studio片段之间切换时地图片段不隐藏

又一个 QMAKE_CXXFLAGS 问题