运行 qmake
在通过在命令行上指定各种选项时运行 qmake 可以定制其行为。这些选项允许微调构建过程、提供有用的诊断信息和指定您的项目要针对的目标平台。
命令语法
运行 qmake 所使用的语法采用了以下简单形式
qmake [mode] [options] files
注意:如果您通过软件包管理器安装了 Qt,则二进制文件可能是 qmake6。
操作模式
qmake 支持两种不同的操作模式。在默认模式下,qmake 使用项目文件中的信息生成 Makefile,但也可以使用 qmake 生成项目文件。如果您想显式设置模式,您必须在其他选项之前指定它。mode 可以是以下两个值之一
- -makefile
 qmake 输出将为 Makefile。
- -project
 qmake 输出将为项目文件。- 注意:创建的文件可能需要编辑。例如,为项目所需模块添加 - QT变量。
您可以使用 options 来指定通用和模式特定设置。仅在 Makefile 模式下适用的选项在 Makefile 模式选项 部分中描述,而影响项目文件创建的选项在 项目模式选项 部分中描述。
文件
files 参数代表一个或多个项目文件列表,由空格分隔。
通用选项
您可以在 qmake 命令行上指定一系列选项来自定义构建过程并覆盖平台默认设置。以下基本选项提供有关使用 qmake 的帮助、指定 qmake 写入输出文件的位置以及控制写入控制台的调试信息级别
- -help
 qmake 将遍历这些功能并提供一些有用的帮助。
- -o 文件
 qmake 输出将定向到- file。如果未指定此选项,qmake 将尝试根据其运行的模式使用合适的文件名作为输出。
 如果指定了 '-',输出将定向到 stdout。
- -d
 qmake 将输出调试信息。多次添加- -d增加详尽程度。
项目所使用的模板通常由项目文件中的TEMPLATE变量指定。您可以通过以下选项来覆盖或修改它:
- -t tmpl
 qmake将以- tmpl替代任何已设置的- TEMPLATE变量,但仅限于在处理完(pro)文件之后。
- -tp 前缀
 qmake将- prefix添加到- TEMPLATE变量中。
可以通过微调警告信息级别来帮助您在项目文件中找到问题
- -Wall
 qmake将报告所有已知的警告。
- -Wnone
 qmake不会生成任何警告信息。
- -Wparser
 qmake将仅生成解析警告。这会提醒您在解析项目文件时可能遇到的常见错误和潜在问题。
- -Wlogic
 qmake会警告项目文件中的常见错误和潜在问题。例如,qmake将报告列表中文件的多次出现和缺失文件。
Makefile模式选项
qmake -makefile [options] files
在Makefile模式下,qmake将生成用于构建项目的Makefile。除此之外,以下选项也可在此模式下使用,以影响项目文件的生成方式
- -after
 qmake将在指定文件之后处理命令行中的赋值。
- -nocache
 qmake将忽略- .qmake.cache文件。
- -nodepend
 qmake不会生成任何依赖信息。
- -cache 文件
 qmake将使用指定的- file作为缓存文件,忽略找到的其他所有.qmake.cache文件。
- -spec spec
 qmake将使用- spec作为平台和编译器信息的路径,并忽略QMAKESPEC的值。
您也可以在命令行中传递qmake赋值。它们在所有指定文件之前处理。例如,以下命令从test.pro生成Makefile
qmake -makefile -o Makefile "CONFIG+=test" test.pro
但是,一些指定的选项可以省略,因为它们是默认值
qmake "CONFIG+=test" test.pro
如果您确定要在指定的文件之后处理变量,则可以传递-after选项。当指定这个选项时,命令行中在-after选项之后的所有赋值将被推迟到指定的文件解析完毕之后。
项目模式选项
qmake -project [options] files
在项目模式下,qmake将生成项目文件。在此模式下,您还可以提供以下选项
- -r
 qmake将递归地检查提供的目录。
- -nopwd
 qmake不会在您当前的工作目录中查找源代码。它将只使用指定的- files。
在此模式中,files参数可以是文件或目录的列表。如果指定了目录,则它将被包含在DEPENDPATH变量中,并且相关代码将被包含在生成的项目文件中。如果提供了文件,它将被附加到相应的变量,具体取决于其扩展名。例如,UI文件被添加到FORMS,而C++文件被添加到SOURCES。
您也可以在此模式下传递赋值。当这样做时,这些赋值将被放置在生成的项目文件的最后。
© 2024 Qt公司有限公司。此处包含的文档贡献是各自所有者的版权。所提供的文档依据自由软件基金的GNU自由文档许可证第1.3版条款授予使用权。Qt及其相关标识是芬兰或其他国家和地区Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。