qmake 3.1(Qt 5.14.0使用)用户手册9——配置qmake

目录

 

属性

QMAKESPEC

缓存文件

文件扩展名


属性

qmake有一个用于持久配置的系统,该系统允许您在qmake中设置一次属性,并在每次调用qmake时对其进行查询。 您可以在qmake中设置属性,如下所示:

  qmake -set PROPERTY VALUE

适当的属性和值应替换为PROPERTY和VALUE。

您可以从qmake检索以下信息:

  qmake -query PROPERTY
  qmake -query #queries all current PROPERTY/VALUE pairs

注意:除了使用qmake -set PROPERTY VALUE设置的属性外,qmake -query还列出了内置属性。

此信息将保存到QSettings对象中(意味着它将存储在不同平台的不同位置)。

以下列表总结了内置属性:

QMAKE_SPEC - 在主机构建期间已解析并存储在QMAKESPEC变量中的主机mkspec的简称
QMAKE_VERSION - qmake的当前版本
QMAKE_XSPEC - 目标mkspec的缩写,在目标构建期间已解析并存储在QMAKESPEC变量中
QT_HOST_BINS - 主机可执行文件的位置
QT_HOST_DATA - qmake使用的主机可执行文件的数据位置
QT_HOST_PREFIX - 所有主机路径的默认前缀
QT_INSTALL_ARCHDATA - 依赖于体系结构的通用Qt数据的位置
QT_INSTALL_BINS - Qt二进制文件的位置(工具和应用程序)
QT_INSTALL_CONFIGURATION - Qt设置的位置。在Windows上不适用
QT_INSTALL_DATA - 与体系结构无关的常规Qt数据的位置
QT_INSTALL_DOCS - 文档位置
QT_INSTALL_EXAMPLES - 示例位置
QT_INSTALL_HEADERS - 所有头文件的位置
QT_INSTALL_IMPORTS - QML 1.x扩展的位置
QT_INSTALL_LIBEXECS - 库在运行时所需的可执行文件的位置
QT_INSTALL_LIBS - 库的位置
QT_INSTALL_PLUGINS - Qt插件的位置
QT_INSTALL_PREFIX - 所有路径的默认前缀
QT_INSTALL_QML - QML 2.x扩展的位置
QT_INSTALL_TESTS - Qt测试用例的位置
QT_INSTALL_TRANSLATIONS - Qt字符串的翻译信息的位置
QT_SYSROOT - 目标构建环境使用的sysroot
QT_VERSION - Qt版本。我们建议您改为使用$$QT.<module>.version变量查询Qt模块特定的版本号。

例如,您可以使用QT_INSTALL_PREFIX属性查询该版本qmake的Qt安装:

  qmake -query "QT_INSTALL_PREFIX"

您可以按以下方式查询项目文件中的属性值:

  QMAKE_VERS = $$[QMAKE_VERSION]

QMAKESPEC

qmake需要一个平台和编译器描述文件,其中包含许多用于生成适当的Makefile的默认值。这些文件中的许多文件都带有标准的Qt发行版,这些文件位于Qt安装的mkspecs子目录中。

QMAKESPEC环境变量可以包含以下任何一个:

  • 包含qmake.conf文件的目录的完整路径。在这种情况下,qmake将从该目录中打开qmake.conf文件。如果文件不存在,qmake将退出并显示错误。
  • 平台编译器组合的名称。在这种情况下,qmake将在编译Qt时指定的数据路径的mkspecs子目录指定的目录中搜索(请参阅QLibraryInfo :: DataPath)。

注意:QMAKESPEC路径将在INCLUDEPATH系统变量的内容之后自动添加到生成的Makefile中。

缓存文件

高速缓存文件是qmake读取的特殊文件,以查找未在qmake.conf文件,项目文件或命令行中指定的设置。运行qmake时,除非指定-nocache,否则它将在当前目录的父目录中查找名为.qmake.cache的文件。如果qmake找不到此文件,它将无提示地忽略此处理步骤。

如果qmake找到.qmake.cache文件,则它将在处理项目文件之前先处理该文件。

文件扩展名

在正常情况下,qmake会尝试为您的平台使用适当的文件扩展名。但是,有时有必要覆盖每个平台的默认选项,并明确定义供qmake使用的文件扩展名。这是通过重新定义某些内置变量来实现的。例如,可以通过在项目文件中进行以下设置来重新定义用于moc文件的扩展名: 

QMAKE_EXT_MOC = .mymoc

以下变量可用于重新定义qmake可以识别的通用文件扩展名:
QMAKE_EXT_MOC 修改包含在moc文件中的扩展名。
QMAKE_EXT_UI 修改用于Qt Designer UI文件的扩展名(通常在FORMS中)。
QMAKE_EXT_PRL 修改库依赖文件上的扩展名。
QMAKE_EXT_LEX 更改Lex文件中使用的后缀(通常在LEXSOURCES中)。
QMAKE_EXT_YACC 更改Yacc文件中使用的后缀(通常在YACCSOURCES中)。
QMAKE_EXT_OBJ 更改在生成的目标文件上使用的后缀。
以上所有内容仅接受第一个值,因此您必须仅为其分配一个将在整个项目文件中使用的值。 有两个变量可以接受值列表:
QMAKE_EXT_CPP 使qmake将带有这些后缀的所有文件解释为C++源文件。
QMAKE_EXT_H 使qmake将带有这些后缀的所有文件解释为C和C++头文件。

发布了25 篇原创文章 · 获赞 0 · 访问量 3766

猜你喜欢

转载自blog.csdn.net/xuyouqiang1987/article/details/104086179