配置 qmake

属性

qmake 有一个持久配置系统,允许您在 qmake 中设置一个属性一次,并在每次调用 qmake 时查询它。您可以在 qmake 中如下设置属性

qmake -set PROPERTY VALUE

应将适当的属性和值替换为 PROPERTYVALUE

您可以通过以下方式从 qmake 中检索此信息

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

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

此信息将被保存到一个 QSettings 对象中(意思是为不同的平台保存到不同的地方)。

以下列表总结了一些 内置 属性

  • QMAKE_SPEC - 主机 mkspec 的短名,在主机构建期间解析并存储在 QMAKESPEC 变量中
  • QMAKE_VERSION - qmake 的当前版本
  • QMAKE_XSPEC - 目标 mkspec 的短名,在目标构建期间解析并存储在 QMAKESPEC 变量中
  • QT_HOST_BINS - 主机可执行文件的位置
  • QT_HOST_DATA - qmake 使用的宿主可执行文件数据的位置
  • QT_HOST_LIBS - 主机库的位置
  • QT_HOST_LIBEXECS - 在运行时所需的主机库的可执行文件的位置
  • 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_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)。

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

缓存文件

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

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

文件扩展名

在正常情况下,qmake将尝试为您 Platform 选择合适的文件扩展名。但是,有时有必要覆盖每个平台的默认选择并显式定义qmake要使用的文件扩展名。这是通过重新定义某些内置变量来实现的。例如,可以用以下项目中的赋值来重新定义用于moc文件的扩展名

QMAKE_EXT_MOC = .mymoc

以下变量可用来重新定义qmake识别的常见文件扩展名

以上都是仅接受第一个值,因此您必须指定仅在整个项目文件中使用的单个值。有两个变量接受值列表

  • QMAKE_EXT_CPP使qmake将所有具有这些后缀的文件解释为C++源文件。
  • QMAKE_EXT_H使qmake将所有具有这些后缀的文件解释为C和C++头文件。

© 2024 认证的技术有限公司。本文件中包含的文档贡献是各自所有者的版权。提供的文档受自由软件基金会发布的GNU自由文档许可证第1.3版的许可条款约束。GNU自由文档许可证1.3版。Qt以及相关标志是芬兰和/或其他国家全球范围内Qt公司的商标。所有其他商标均为各自所有者的财产。