运行 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公司有限公司的商标。所有其他商标均为各自所有者的财产。