使用visual studio构建qt项目

时间:2016-01-25 08:09:46

标签: c++ qt visual-studio-2013 nmake

我在Qt创建者中使用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创建者中构建,而不是从命令提示符构建?如何在命令提示符中复制此行为?我这样做是为了制作项目的批处理文件(在没有安装Qt创建者的机器上)。

2 个答案:

答案 0 :(得分:3)

要从命令行使用Visual Studio编译环境,您需要调用vcvars批处理脚本来正确设置路径。

调用vcvars64.bat文件夹中的C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64(适用于VS2013,您可以使用任何Visual Studio版本替换" 12.0")

vcvars32.bat文件夹中的C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin

或者对vcvarsall.bat x86

中的脚本使用vcvarsall.bat x64C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC次来电

或者,Visual Studio在开始菜单中创建快捷方式,这些快捷方式沿着调用这些脚本的VS2013 x64 Native Tools Command Prompt行调用。

答案 1 :(得分:1)

可能是cmd在构建环境中添加了其他变量,当您尝试通过Qt Creator手动编译时,这些变量不会显示。

如果您在Projects部分的Build内查看,则会显示Build Environment个信息。展开*dic[e] = malloc(...)信息并检查是否存在与您的计算机全局环境设置不同的任何内容。