运行qmake
在命令行下,我们可以通过指定不同的选项从而自定义qmake的行为。这样可以更好的
控制构建过程,提供有用的诊断信息,还可以指定目标平台。
命令行语法
运行qmake的语法如下:
qmake [mode] [options] files
操作模式
qmake支持两种不同的操作模式。在默认模式下,qmake使用项目文件中的信息来生成
makefile,但我们也可以用qmake生成项目文件,如果你确实想使用这种模式,你必须
在其它选项前指定它,mode可以是下面的两个值:
1. -makefile qmake会输出一个makefile
2. -project qmake会输出一个项目文件
注意:创建的文件很可能需要编辑。例如,添加变量QT来指定项目需要的模块
你可以使用options来指定通用的和模式特有的设置。具体描述见下面几节。
文件
参数files代表了一个或多个项目文件,以空格分开
通用选项
- -help
qmake会显示一些有用的帮助 - -o file
qmake的输出会定向到file,如果这个选项没有被指定,qmake会尝试使用一个合适的文件名,这取决于运行的模式 - -d
qmake将会输出调试信息,添加多个-d 会提高冗余度。 - -Wall
qmake会报告全部警告 - -Wnone
qmake不会报告任何警告 - -Wparser
qmake只会报告语法警告,这将提醒您解决项目文件时遇到的常见错误和潜在问题。 - -Wlogic
qmakeq会警告您的项目文件中存在常见的陷阱和潜在问题。 例如,qmake会在列表和缺少的文件中报告多次出现的文件。
makefile模式选项
qmake -makefile [options] files
在makefile模式中,qmake将会生成一个makefile来构建该项目,下面的选项可能会影响项目文件的构建过程:
- -after
qmake处理完指定的文件后再处理在命令行中指定的任务。 - -nocache
qmake会忽略.qmake.cache文件。 - -cache file
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将不会在当前的工作目录中查找源代码。 它只会使用指定的文件。
在这种模式下,文件参数可以是文件或目录的列表。 如果指定了目录,它将被包含在DEPENDPATH变量中,并且生成的项目文件中将包含相关代码。
如果给出文件,它将被附加到正确的变量,具体取决于它的扩展名。 例如,将UI文件添加到FORMS中,并将C ++文件添加到SOURCES。
您也可以在此模式下在命令行中传递分配。 这样做时,这些作业将被放置在生成的项目文件中。