运行 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 file
qmake 的输出将重定向至 。如果未指定此选项,qmake 将根据其运行模式尝试为其输出选择一个合适的文件名。 如果指定了 '-',输出将重定向至 stdout。file
-d
qmake 将输出调试信息。多次添加 可增加输出详细程度。-d
项目所用的模板通常由项目文件中的TEMPLATE变量指定。您可以使用以下选项覆盖或修改该设置:
-t tmpl
qmake 将使用 覆盖任何已设置的 变量,但仅tmplTEMPLATE在.pro 文件处理完成后生效。-tp prefix
qmake 会将 ` ` 添加到 ` ` 变量中。prefixTEMPLATE
可以微调警告信息的详细程度,以帮助您查找项目文件中的问题:
-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 file
qmake将使用 作为缓存文件,并忽略找到的任何其他.qmake.cache文件。file-spec spec
qmake 将使用 ` ` 作为平台和编译器信息的路径,并忽略 `specQMAKESPEC` 的值。
您还可以在命令行上传递 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` 中。
在此模式下,您还可以在命令行中传递赋值语句。此时,这些赋值语句将被放置在生成的项目文件的末尾。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.