我有一个自动构建过程,用于在Windows上构建Qt应用程序。按照Qt的文档,为了获得XP兼容版本,它使用qmake的组合来生成Visual Studio项目,然后使用MSBuild来构建它。所以首先我使用qmake来创建VS项目:使用发布配置构建时无法获取MSBuild生成调试信息
qmake -spec win32-msvc2013 -tp vc qt_project.pro
...然后我使用msbuild来构建它。 (注意:我安装了Visual Studio 2013社区。)我使用msbuild,以便生成的可执行文件将与Windows XP兼容。我还需要它来生成PDB文件,包括调试符号,所以我使用的特定命令是这样的:
msbuild /p:Configuration=Release /p:DebugType=pdbonly /p:DebugSymbols=true /p:PlatformToolset=v120_xp /m:3
它成功地建立,并且它确实建立一个XP兼容的可执行文件,但它确实不是生成调试信息,除非我将配置设置为调试。但我需要使用Release配置来构建它。基本上,它只是无缘无故地忽略了“/ p:DebugType = pdbonly/p:DebugSymbols = true”。
我只是花了不少时间拉出头发试图解决这个问题,但到目前为止,我只能获得我想要的东西的方法是手动打开Visual Studio项目并更改发布的设置组态。这是不可接受的 - 我需要自动化!
有什么建议吗?
我应该在我的原始问题中阐明这一点,然后我将进行编辑,但由qmake生成的makefile不会创建与XP兼容的版本。 Qt的文档说,要做到这一点,你必须创建一个Visual Studio项目并将平台工具包设置为v120_xp,因此需要使用MSBuild。 – GuyGizmo
我不确定这一点。我们在Windows下有一个大项目,并且总是用qmake/jom构建。实际上,你正在与创建所有构建的人交谈。 Visual Studio是一个方便,并且qmake .pro文件是整个构建从什么开始。 – AlexanderVX
如果这是真的,那么我会愉快地放弃Visual Studio的步骤,但正如qmake/jom将产生不适用于XP的构建。有没有我必须使用的设置来使XP兼容的版本? – GuyGizmo