【问题标题】:Build Qt 4.8.6 VS 2010 express. Cannot open include file: 'stddef.h'构建 Qt 4.8.6 VS 2010 express。无法打开包含文件:'stddef.h'
【发布时间】:2023-12-09 12:52:02
【问题描述】:

我的电脑上安装了 VS 2012 x64 prof 和 VS 2010 express。我想用 VS 2010 express 构建 Qt 4.8.6。我从 Qt 网站下载了 zip。在我的 PATH 中添加了“C:\Qt\qt-4.8.6\qmake”,添加了环境变量

QMAKESPEC == win32-msvc2010

在 VS 2010 命令提示符下运行

C:\Qt\qt-4.8.6\configure -release

得到错误:

c:\qt\qt-4.8.6\include\qtcore\../../src/corelib/global/qglobal.h(45) : fatal err
or C1083: Cannot open include file: 'stddef.h': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\cl.EXE"' : return code '0x2'

可能是什么问题?

谢谢

【问题讨论】:

  • 你确定你运行了 VS2010 命令提示符吗?您可以尝试在该提示符或常规 Windows 提示符中“获取”VCVARS32.BAT 吗?
  • @lpapp 是的,这是 vs 2010 命令提示符。我在 VCVARS32.BAT 中做了“@echo %VSINSTALLDIR% echo %FrameworkDir32% echo %FrameworkVersion32% echo %Framework35Version% echo %WindowsSdkDir%”。一切似乎都很好:'使用 Microsoft Visual Studio 2010 x86 工具的设置环境。 C:\Program Files (x86)\Microsoft Visual Studio 10.0\ C:\Windows\Microsoft.NET\Framework\ v4.0.30319 v3.5 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\'会不会是快递的原因?我之前没用过,只有VS 2012。可能我需要安装smth?
  • 以防万一:您尝试在 x86 上构建 x86,而不是将 x86 与 x86_64 混合,对吗?你能像这样写一个简单的 main.c:#include <stddef.h> int main() { return 0; } 并通过 cl.exe 运行它吗?它会构建吗?
  • @lapp 是的,你是对的,谢谢!它不编译,同样的错误。但是我在这里混合什么?我在 Win7 上安装了 VS 2010,运行 x86 编译器。你能解释一下我需要改变什么吗?谢谢!
  • 不,抱歉,这对我来说听起来很神奇。您可能需要从 Matrix (j/k) 询问 Oracle。你试过在cl.exe main.c之前运行"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86吗?

标签: visual-studio-2010 qt qt4


【解决方案1】:

1 原因可能是 QT 的版本与 Visual basic 的版本不对应。
Qt 5.3 for VS2013 包
因为他们的编译器版本不兼容,更不兼容明威 您没看错,但他们目前为 Visual Studio 和 MinGW 的最后 3 个版本提供了软件包。
您尝试在这两个版本上安装最新版本。我认为这会有所帮助。

【讨论】:

  • 我有一个使用 PyQT4 包的 python 项目。 PyQt5 和 4 不兼容。这就是为什么我需要安装 Qt4。我尝试使用 VS 2010 express 构建 Qt 4.8.6 版本。据我了解,Qt4 可以用 VS 2010 和 VS 2008 构建
  • OP 似乎在使用 Qt 4.8.6,不确定你从哪里得到 5.3。从和 VS2013 ...