我正在编写构建脚本以自动构建和发布任务。我有一个Qt Creator项目,它有三个配置,其中两个我想从头开始完全重建,没有任何预编译的头文件和现有的.o文件要跳过(release和release_production)。后者是相同的,除了它有PRODUCTION符号#defined。
我正在使用Windows。如何从命令行构建这些配置?
编辑:一些澄清:Qt Creator自定义构建步骤不存储在qmake makefile中,而是存储在Qt Creator特定的.pro.user XML文件中。我想从命令行执行这些操作而不在脚本中重复它们。
答案 0 :(得分:13)
这里涉及两个步骤:
运行qmake
以生成Makefile。通常的命令是
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
指向正确的makefile。
答案 1 :(得分:3)
在QtCreator的项目选项卡中,您拥有准确的命令,QtCreator在构建时运行以进行调试和发布。只需在您的项目可以构建的环境中运行这些行(Qt控制台)。但基本上Qt项目是使用qmake.exe
然后nmake.exe
或Qt多线程类似make的可执行文件jom.exe
构建的。
对于“生产”模式,您可以在qmake命令中使用CONFIG+=production
参数,然后在.pro文件中使用:
CONFIG(production){
DEFINES+=PRODUCTION
}else{
}
答案 2 :(得分:0)
为了完成这项工作,有一些实用的细节是必要的。
你必须告诉编译器和资源处理器的位置。例如:
:: CL.EXE
PATH=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
:: RC.EXE
PATH=%PATH%;C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64
您必须定义包含和库路径:
SET INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\atlmfc\include
SET LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\atlmfc\lib\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64
然后你就可以了:
CD C:\Foo\build-your-project-Desktop_Qt_5_13_0_MSVC2017_64bit-Release
C:\Qt\Tools\QtCreator\bin\jom.exe /S -f Makefile.Release clean
C:\Qt\5.13.0\msvc2017_64\bin\qmake.exe -o Makefile ..\your-project\your-project-file.pro -spec win32-msvc "CONFIG+=qtquickcompiler"
C:\Qt\Tools\QtCreator\bin\jom.exe /S /X Build.log -f Makefile.Release
如果出现错误,请搜索头文件或lib文件所在的路径,并将其添加到路径中。不断重复,直到所有错误都消失。