网站首页 > 教程文章 正文
一、属性
qmake 有一个持久化配置系统,它允许在 qmake 中设置一次属性,并在每次调用 qmake 时查询它。
可以在 qmake 中设置一个属性:
qmake -set PROPERTY VALUE
您可以从 qmake 检索此信息,如下所示:
qmake -query PROPERTY
qmake -query //列出内置属性
以下是内置属性:
- QMAKE_SPEC:在主机构建期间解析并存储在 QMAKESPEC 变量中的主机 mkspec 的短名称
- QMAKE_VERSION:qmake 的当前版本
- QMAKE_XSPEC:在目标构建期间解析并存储在 QMAKESPEC 变量中的目标 mkspec 的短名称
- 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开发教程学习资料,点击下方链接莬费领取↓↓,先码住不迷路~】
点击→领取「链接」
二、QMAKESPEC
qmake 需要一个平台和编译器描述文件,其中包含许多用于生成适当 Makefile 的默认值。
标准 Qt 发行版带有许多这样的文件,位于 Qt 安装的 mkspecs 子目录中(如:D:\qt6.2\6.2.0\msvc2019_64\mkspecs)。
QMAKESPEC 环境变量可以包含以下内容:
- 包含 qmake.conf 文件的目录的完整路径。在这种情况下,qmake 将从该目录中打开 qmake.conf 文件。如果文件不存在,qmake 将退出并报错。
- 平台编译器组合的名称。在这种情况下,qmake 将在 Qt 编译时指定的数据路径的 mkspecs 子目录指定的目录中搜索。
注意: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_MOC = .mymoc_1
QMAKE_EXT_MOC = .mymoc_2
有两个变量可以接受值列表:
- QMAKE_EXT_CPP:使 qmake 将所有带有这些后缀的文件解释为 C++ 源文件。
- QMAKE_EXT_H:使 qmake 将所有带有这些后缀的文件解释为 C 和 C++ 头文件。
猜你喜欢
- 2025-07-06 一个可以用来练手的C++开源编译器!
- 2025-07-06 Linux开发工具使用指南(linux软件开发工具)
- 2025-07-06 Linux下Makefile文件的模式规则和自动化变量
- 2025-07-06 程序员的副业秘籍!一款可以快速搭建各类系统的后台管理系统
- 2025-07-06 postgresql自定义函数实现,通过contrib模块进行扩展
- 2025-07-06 Linux GCC编译及Makefile使用(gcc makefile编写)
- 2025-07-06 wordpress独立站上线两周没收录?原来是robots.txt搞的鬼…
- 2025-07-06 make sure用法解析(make sure sth)
- 2025-07-06 每天一个 Python 库:Django全能Web框架,一站式后台开发
- 2025-07-06 Makefile实践(makefile经典教程)
- 最近发表
-
- 一个可以用来练手的C++开源编译器!
- Linux开发工具使用指南(linux软件开发工具)
- Linux下Makefile文件的模式规则和自动化变量
- 程序员的副业秘籍!一款可以快速搭建各类系统的后台管理系统
- postgresql自定义函数实现,通过contrib模块进行扩展
- Linux GCC编译及Makefile使用(gcc makefile编写)
- wordpress独立站上线两周没收录?原来是robots.txt搞的鬼…
- make sure用法解析(make sure sth)
- 每天一个 Python 库:Django全能Web框架,一站式后台开发
- Makefile实践(makefile经典教程)
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)