【问题标题】:building qt project using visual studio使用 Visual Studio 构建 qt 项目
【发布时间】: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 文件后,它起作用了。如果您添加此答案,我可以接受。

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


【解决方案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 信息并检查其中是否有任何与您的机器全局环境设置不同的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 2021-08-08
      • 2014-09-13
      • 1970-01-01
      • 2018-11-04
      相关资源
      最近更新 更多