从命令行构建Qt Creator项目

时间:2011-05-25 15:56:39

标签: c++ build-automation qt-creator

我正在编写构建脚本以自动构建和发布任务。我有一个Qt Creator项目,它有三个配置,其中两个我想从头开始完全重建,没有任何预编译的头文件和现有的.o文件要跳过(release和release_production)。后者是相同的,除了它有PRODUCTION符号#defined。

我正在使用Windows。如何从命令行构建这些配置?

编辑:一些澄清:Qt Creator自定义构建步骤不存储在qmake makefile中,而是存储在Qt Creator特定的.pro.user XML文件中。我想从命令行执行这些操作而不在脚本中重复它们。

3 个答案:

答案 0 :(得分:13)

这里涉及两个步骤:

  1. 运行qmake以生成Makefile。通常的命令是

    c:\qt\4.7.2\bin\qmake.exe" path\to\some\project.pro -r -spec win32-g++ CONFIG+=...
    

    -spec转换非常重要。确保提供有效的makepec文件。需要在此步骤中指定CONFIG

  2. 运行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文件所在的路径,并将其添加到路径中。不断重复,直到所有错误都消失。