Visual Studio 2013 SDKDDKVer.h 及相关错误

Visual Studio 2013 SDKDDKVer.h and related errors

所以我尝试安装 visual studio 2013 并构建默认控制台应用程序,它给了我:

error C1083: Cannot open include file: 'SDKDDKVer.h': No such file or directory

所以在大约 7 小时后,包括在全新的 Windows 虚拟机上安装 7 SP1 以查看是否解决了问题(它没有),我找到了这个解决方案:

在项目属性页面中, 将配置属性->vc++ 目录设置为 "C:\Program Files\Microsoft SDKs\Windows\v7.1A\Include"

将库目录设置为 C:\Program Files\Microsoft SDKs\Windows\v7.1A\Lib

然后将 RC.Exe 和 RcDll.Dll 从 C:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin 复制到 C:\Program Files\Microsoft Visual Studio12.0\VC\bin

令我惊讶的是,这真的奏效了!它现在构建默认的控制台程序。然而它仍然给我:

warning MSB8003: Could not find WindowsSDKDir variable from the registry.  
TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.

令我非常恼火的是,我必须为每个项目设置这些include/lib路径。

所以,这是我的问题:

1) 这是正常程序吗?! - 答案:没有。

2) 如果不是,为什么我(以及其他很多人)会遇到这些问题? -答案:可能是 (i) 没有安装 Windows SDK 8.1 and/or (ii) 在安装 visual studio.

期间不在线

3) 我应该关心前面提到的 "warning MSB8003" 还是忽略它?它现在似乎工作了,毕竟...回答:哦,天哪,上面的方法确实没有正确解决问题。

4) 如何为每个项目设置 lib/include vc++ 目录永久?或者这是不可能的?回答:可以,但一旦安装了 SDK 8.1 就不必这样做。

我想就是这样,感谢您提供的任何帮助。

下载并安装 Windows 8.1 SDK(在永远不在线的机器上,grr...)解决了所有问题,无需采取进一步措施。问题可能是由于安装 visual studio 期间未在线引起的。我想知道为什么 VS 2013 安装程序在安装 VS 之前没有提供明确的消息。像这样的东西:"EMERGENCY WARNING!!! YOU ARE NOT ONLINE!!! NOTHING WILL WORK PROPERLY!!! YOU ABSOLUTELY MUST INSTALL WINDOWS SDK 8.1 AT SOME POINT BEFORE ANYTHING WILL WORK!!!! I'M NOT KIDDING!!! REALLY!!!"

反正就是这样....哦,这显然是最好的答案,如果允许的话,我会这样标记...

我刚遇到这个问题。经过几个小时试图通过查看不同路径并尝试更改它们、卸载所有 MS 产品并重新安装它们等来查找问题但没有成功,我发现解决方案是打开文件 C:\Users\{ user}\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props 和改变

<PropertyGroup>
  <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\BCGCBPro;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\BCGCBPro</IncludePath>
  <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\bin;C:\Program Files (x86)\BCGSoft\BCGControlBarPro\bin</LibraryPath>
</PropertyGroup>

<PropertyGroup />

我不知道这个问题是怎么产生的,但我通过从我同事的机器上复制文件找到了解决方案,一切正常。该问题可能是由于最近安装和卸载BCGControlBarPro...

我遇到了同样的问题,我通过定义环境变量解决了它,重启visual studio 2013

Add an environment variable "WindowsSDKDir" with value="path to the microsoft sdk"

例如就我而言

WindowsSDKDir=C:\Program Files(x86)\Microsoft SDKs\Windows\v7.1A