目录
通过在命令行上指定各种选项,可以自定义qmake的行为。 这样可以微调构建过程,提供有用的诊断信息,并可用于指定项目的目标平台。
命令语法
运行qmake的语法采用以下简单形式:
qmake [mode] [options] files
操作模式
qmake支持两种不同的操作模式。 在默认模式下,qmake使用项目文件中的信息来生成Makefile,但是也可以使用qmake来生成项目文件。 如果要显式设置模式,则必须在所有其他选项之前指定它。 该模式可以是以下两个值之一:
-makefile
qmake输出将是一个Makefile。
-project
qmake输出将是一个项目文件。
注意:创建的文件可能需要编辑。 例如,添加QT变量以适合项目所需的模块。
您可以使用这些选项来指定常规设置和特定于模式的设置。 在“生成文件模式选项”部分中描述了仅适用于Makefile模式的选项,而在“项目模式选项”部分中描述了影响项目文件创建的选项。
文件参数
files参数表示一个或多个项目文件的列表,以空格分隔。
常规选项
可以在命令行上为qmake指定各种各样的选项,以自定义构建过程并覆盖平台的默认设置。 以下基本选项可提供有关使用qmake的帮助,指定qmake在何处写入输出文件以及控制准备写入控制台的调试信息的级别:
-help
qmake将介绍这些功能并提供一些有用的帮助。
-o file
qmake输出将重定向到文件。 如果未指定此选项,则qmake将尝试使用合适的文件名作为其输出,具体取决于其运行方式。
如果指定了“-”,则输出定向到标准输出。
-d
qmake将输出调试信息。 多次添加-d会增加详细程度。
用于项目的模板通常由项目文件中的TEMPLATE变量指定。 您可以使用以下选项覆盖或修改它:
-t tmpl
qmake将使用tmpl覆盖所有设置的TEMPLATE变量,但仅在处理.pro文件之后。
-tp prefix
qmake将前缀添加到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 file
qmake将使用该文件作为缓存文件,而忽略找到的任何其他.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参数可以是文件或目录的列表。 如果指定了目录,则该目录将包含在DEPENDPATH变量中,来自该目录的相关代码将包含在生成的项目文件中。 如果给出了文件,则将根据其扩展名将其附加到正确的变量中。 例如,将UI文件添加到FORMS,将C++文件添加到SOURCES。
您也可以在此模式下在命令行中传递任务。 这样做时,这些任务将被放置在生成的项目文件的最后。