我在Qt创建者中使用vs2013编译器构建了一个Qt项目(qwt)。当我打开.pro文件并查看构建步骤时,我看到:
当我构建项目时,一切顺利,项目构建没有错误。到目前为止一切都很好。
但是,当我尝试使用命令行构建此项目时,我在nmake步骤中遇到错误。我使用了与上面相同的命令(我确定我使用相同版本的qmake / nmake)。
...\QtCore\qglobal.h(38) : fatal error C1083: Cannot open include
file: 'stddef.h': No such file or directory
我的问题是,Qt做了什么,以便项目在Qt创建者中构建,而不是从命令提示符构建?如何在命令提示符中复制此行为?我这样做是为了制作项目的批处理文件(在没有安装Qt创建者的机器上)。
答案 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 x64
或C:\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(...)
信息并检查是否存在与您的计算机全局环境设置不同的任何内容。