从命令行构建Qt Creator项目
我正在编写构建脚本以自动执行构建和发布任务。我有一个Qt Creator项目,它有三种配置,其中两种我想从头开始完全重建,没有任何预编译头文件和现有的.o文件跳过(release和release_production)。后者是相同的,除了它具有#defined的PRODUCTION符号。从命令行构建Qt Creator项目
我使用的是windows。我怎样才能从命令行构建这些配置?
编辑:一些说明:Qt Creator自定义构建步骤不存储在qmake makefile中,而是存储在Qt Creator特定的.pro.user XML文件中。我想从命令行执行这些,而不用在脚本中重复它们。
这里涉及两个步骤:
-
运行
qmake
生成Makefiles。通常的命令是c:\qt\4.7.2\bin\qmake.exe" path\to\some\project.pro -r -spec win32-g++ CONFIG+=...
-spec
开关很重要。确保你提供了一个有效的makepec文件。需要在此步骤中指定CONFIG
。 -
运行
make
进行编译和链接。这很容易C:\MinGW32\bin\mingw32-make -f Makefile.Debug
记得指向
make
到正确的生成文件。
谢谢,我写了这样的东西,它的工作原理。但是,这不是我想要的,请参阅我编辑的问题。 – 2011-05-26 09:47:20
在QtCreator的项目选项卡中,您具有确切的命令,QtCreator在编译时运行,用于调试和发布。只需在您的项目可以构建的环境中运行这些行(Qt控制台)。但基本上Qt项目是用qmake.exe
,然后是nmake.exe
或Qt多线程类制作可执行文件jom.exe
构建的。
为了您的 “生产” 模式,您可以qmake命令使用CONFIG+=production
参数,然后在您的.pro文件:
CONFIG(production){
DEFINES+=PRODUCTION
}else{
}
谢谢。请看我编辑的问题。 – 2011-05-26 09:48:02
'QtCreator --help'没有显示任何你可以通过的参数来直接构建一个你想要的项目......这对于QtCreator家伙来说可能是个好问题。 – vrince 2011-05-26 13:24:02
我发现你的建议是增加一个生产模式,这个模式在我编程的机器上编译时非常有趣,在这个机器上库等不在同一个地方。但我似乎无法让它工作。我试图在'CONFIG(production)'块中修改'INCLUDEPATH'和'DEFINES',但是当我尝试使用生成的Makefile(使用'qmake'生成的参数'CONFIG + = production')进行编译时, 'INCLUDEPATH'和'DEFEFINES'不像我定义的那样。有任何想法吗? – 2017-05-15 09:56:50
不确定您是否有兴趣使用第三方工具,但我已成功使用CMake来达到此目的。它允许不在目录构建中,因此我在不同的目录中构建不同的配置。您可以简单地设置您的脚本以删除“release”和“release_production”目录的目录,以确保它们从头开始重建。 – user258808 2011-05-25 16:55:57