使用 Visual Studio 构建 qt 项目
Posted
技术标签:
【中文标题】使用 Visual Studio 构建 qt 项目【英文标题】:building qt project using visual studio 【发布时间】:2016-01-25 08:09:46 【问题描述】:我在 Qt creator 中使用 vs2013 编译器构建了一个 Qt 项目 (qwt)。当我打开 .pro 文件并查看我看到的构建步骤时:
qmake: qmake.exe qwt.pro -r -spec win32-msvc2013 制作:C:\qwt-6.1.2 中的 nmake.exe当我构建项目时,一切正常,项目构建没有错误。到目前为止一切顺利。
但是,当我尝试使用命令行构建此项目时,我在 nmake 步骤中遇到错误。我使用了与上面相同的命令(并且我确定我使用的是相同版本的 qmake/nmake)。
...\QtCore\qglobal.h(38) : fatal error C1083: Cannot open include
file: 'stddef.h': No such file or directory
我的问题是,Qt 做了哪些更多工作以使项目在 Qt creator 中构建而不是从命令提示符中构建?以及如何在命令提示符下复制此行为?我这样做是为了制作一个构建项目的批处理文件(在没有安装 Qt creator 的机器上)。
【问题讨论】:
您是否打开了正常的 cmd 会话?要在命令行上构建 Visual Studio 的东西,您应该执行相应的vcvars.bat
(vcvars32 或 vcvars64)文件来设置环境。或者打开专用的“VS2013 x64 Native Command Promt”快捷方式为您完成此操作
不,我没有。在我执行正确的 .bat 文件后,它起作用了。如果您添加此答案,我可以接受。
【参考方案1】:
为了从命令行使用 Visual Studio 编译环境,您需要调用 vcvars
批处理脚本来正确设置路径。
在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
文件夹中调用vcvars64.bat
(对于VS2013,您可以将“12.0”替换为您拥有的任何Visual Studio 版本)。
或C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
文件夹中的vcvars32.bat
。
或者使用vcvarsall.bat x86
或vcvarsall.bat x64
调用C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
中的脚本
或者,Visual Studio 在开始菜单中创建快捷方式,按照VS2013 x64 Native Tools Command Prompt
的行调用这些脚本。
【讨论】:
【参考方案2】:很可能是Qt Creator
在构建环境中添加了额外的变量,当您尝试通过cmd
手动编译时不会出现这些变量。
如果您在Qt Creator
中查看Projects
部分下的Build
信息。展开Build Environment
信息并检查其中是否有任何与您的机器全局环境设置不同的内容。
【讨论】:
以上是关于使用 Visual Studio 构建 qt 项目的主要内容,如果未能解决你的问题,请参考以下文章
使用 Cmake 文件在 Visual Studio 中构建 Qt 项目时出现链接错误
Qt - Visual Studio 2013 加载项不会编译项目
如何将 Qt 的 windeployqt 集成为 Visual Studio 构建工作流的一部分?
如何在没有官方支持的情况下使用 Visual Studio 2015 构建 Qt 4.8.6?