如何在visual studio中从命令行构建qt项目

How to build a QT-project in visual studio from command line

本文关键字:命令行 构建 qt 项目 visual studio      更新时间:2023-10-16

我正在尝试为我的一个qt项目自动化构建过程。我在非qt项目的批处理文件中使用了以下命令

"C:Program Files (x86)Microsoft Visual Studio 9.0Common7IDEdevenv.exe" "myproject. exe"sln"/build "Debug|x64"/projectconfig Debug

,但它不是为我的QT项目工作。我错过什么了吗?

这里有一个例子,如何做到这一点(命令一个命令):

"C:Program Files (x86)Microsoft Visual Studio 9.0VCvcvarsall.bat" x86
cd <my_project_directory>
qmake
nmake

第一个命令设置使用Visual Studio工具的环境。第二个命令将当前目录更改为Qt项目文件所在的目录(您必须有一个)。第三个命令运行Qt的qmake.exe工具来生成make文件。最后,nmake将构建您的项目。

然而,如果你不使用Qt项目文件,只有VisualStudio解决方案,你可以使用MSBuild实用程序,如:

"C:Program Files (x86)Microsoft Visual Studio 9.0VCvcvarsall.bat" x86
MSBuild your_solution.sln /p:Configuration=Debug

您还可以设置额外的环境变量,如QTDIR,如果它没有找到您的Qt安装

如果有人发现这个问题正在寻找关于如何自动化QT项目的构建过程的答案,并希望使用批处理文件作为原始问题状态来完成它,这里是我用来自动化构建过程的批处理脚本:

@echo off
call "C:Program Files (x86)Microsoft Visual Studio2019CommunityVCAuxiliaryBuildvcvarsall.bat" x86
cd %path_to_your_repo%
nmake /f Makefile.Release clean && qmake.exe %path_to_your_.pro% -spec win32-msvc "CONFIG+=qtquickcompiler"
nmake qmake_all
nmake -f Makefile.Release

首先调用vcvarsall.bat很重要,因为这将为所有visual studio工具设置环境。还要确保使用call启动它,如果您只是像@vahancho的回答那样启动批处理文件,它将在执行vcvarsall.bat后停止脚本。

清洁步骤不是必需的,但在构建之前使用它是一个很好的实践。

qmake步骤中选择-specCONFIG(如果有的话)是很重要的,因为如果您正在使用一些额外的QT配置,这将允许您选择编译器和所需的配置。