为什么在VisualStudio11Express测试版中尝试从源代码构建Qt时会收到此错误?

为什么在VisualStudio11Express测试版中尝试从源代码构建Qt时会收到此错误?,qt,visual-studio-express,visual-studio-2012,Qt,Visual Studio Express,Visual Studio 2012,我正在尝试用微软的64位编译器构建Qt。我从下载了qt-everywhere-opensource-src-4.8.0.tar.gz,并将其解压缩到D:\qt。启动x64 Cross Tools命令提示符后,我运行了以下命令: set QTDIR=D:\Qt set PATH=%PATH%;%QTDIR%\bin configure.exe -debug-and-release -opensource -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -q

我正在尝试用微软的64位编译器构建Qt。我从下载了
qt-everywhere-opensource-src-4.8.0.tar.gz,并将其解压缩到
D:\qt
。启动x64 Cross Tools命令提示符后,我运行了以下命令:

set QTDIR=D:\Qt set PATH=%PATH%;%QTDIR%\bin configure.exe -debug-and-release -opensource -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-style-windowsxp -qt-style-windowsvista -platform win32-msvc2010
为什么
shlobj.h
缺失?

错误代码0x2映射到
错误文件\u未找到
。最好的猜测是cl.exe的一个参数丢失。根据输出,我会说qsettings_win.cpp不在当前路径中,或者不在磁盘上

用于Windows 8的Visual Studio 11 Beta Express仅支持Metro样式的应用程序。它不包括完整的SDK


要构建Qt,您需要另一个VisualStudio11测试版SKU,您可以从中下载。最终的SKU当然包含 < /C>,并且可能还有其他缺失的头(当然,这并不一定意味着Qt会建立;它可能无意中依赖于Visual C++ 2010中的怪癖,或者beta可能有bug,阻止它建立;您的里程可能会有所不同)。.

我知道这是一个老问题,但我有这个问题,答案不再有什么帮助了

此丢失的文件可以在windows SDK中找到。如果缺少它们,那么您一定缺少SDK。对于VS 2010,安装Windows 7.1 SDK;对于VS 2012,您将分别需要Windows 8 SDK。 安装后的默认文件位置:

  • Windows 8 SDK:
  • C:\ProgramFiles(x86)\Windows工具包\8.0\Include\um
  • WIndows 7 SDK:
  • C:\Program Files\Microsoft SDK\Windows\v7.1\Include
  • C:\ProgramFiles(x86)\Microsoft SDK\Windows\v7.0A\Include

我在尝试为构建Qt 5.3 Beta时遇到了相同的错误

我使用的是Windows 8.1,安装了VS 2013(专业版)。要解决此问题,我必须:

  • 下载并安装。它将被放置在
    C:\ProgramFiles(x86)\Windows Kits\8.1
  • 使用VS2013 x86本机工具命令提示符,可从
    C:\Program Files(x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts
    获得

应位于程序文件\Windows工具包\8.0\Include\um中。可能是(a)Qt未向编译器传递包含路径,或(b)Visual Studio 11 Beta Express for Windows 8未包含此标头。要查找,请查看磁盘上是否存在该文件。请注意,Express for Windows 8仅支持创建Metro样式的应用程序。@JamesMcNellis:So。。。我需要回到VS Express 2010来构建Qt?(顺便说一下,文件不在那里。)我想我只需要安装VC++2010 Express,以避免任何麻烦。谢谢你解释一切。 ... qurl.cpp qsettings_win.cpp NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 11.0\VC\BI N\x86_amd64\cl.EXE"' : return code '0x2' Stop. Building qmake failed, return code 2 qfilesystemengine_win.cpp qfsfileengine_win.cpp D:\Qt\src\corelib\io\qfsfileengine_win.cpp(64) : fatal error C1083: Cannot open include file: 'shlobj.h': No such file or directory D:\Qt\src\corelib\io\qfilesystemengine_win.cpp(66) : fatal error C1083: Cannot o pen include file: 'shlobj.h': No such file or directory NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 11.0\VC\BI N\x86_amd64\cl.EXE"' : return code '0x2' Stop.