qmake 3.1(Qt 5.14.0使用)用户手册5——运行qmake

目录

命令语法

操作模式

文件参数

常规选项

Makefile模式选项

项目模式选项


通过在命令行上指定各种选项,可以自定义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。

您也可以在此模式下在命令行中传递任务。 这样做时,这些任务将被放置在生成的项目文件的最后。

发布了20 篇原创文章 · 获赞 0 · 访问量 1052

猜你喜欢

转载自blog.csdn.net/xuyouqiang1987/article/details/104077870