Visual Studio 2012新安装中缺少头文件

11

我刚刚安装了Visual Studio 2012,试图在其上运行我的C++项目。但是由于缺少“SDKDDKVer.h”,“windows.h”等文件,编译失败。

我从Windows 8软件开发工具包(SDK)中安装了Windows 8 SDK,成功运行默认组件的安装程序(包括Windows头文件),但是在C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0或C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0A下找不到任何include文件夹。我已经运行了SDK安装程序两次+尝试修复,但仍然找不到任何Windows头文件的踪迹。

是否有人遇到过类似的情况?

我错过了什么?我的操作系统是Win7 x64。在安装VS2012之前,我卸载了VS2010。

谢谢,


你卸载VS2010有什么特别的原因吗?它们可以并存而不会出现任何问题。 - Timo Geusch
我刚刚检查了我的安装,但出于某些原因,我所拥有的最新的Windows.h位于Program Files (x86)/Windows Kits/8.0/Include/um中。 - Timo Geusch
@Timo Geusch 谢谢!我的VS默认指向$(WindowsSdkDir)include == C:\Program Files (x86)\Windows Kits\8.0\Include。我想知道um代表什么,以及它在你的电脑上如何正确工作。 - OSH
问题似乎与此相关:http://connect.microsoft.com/VisualStudio/feedback/details/762015,该错误于2012年9月10日开放。希望他们能尽快解决。 - OSH
1
只是一个更新:微软将这个错误标记为“无法重现”。对我来说,这意味着“糟糕的质量保证”或者一家并不真正关心客户的公司。 - OSH
2个回答

22

这是由于VS2012使用了VS2010的配置而导致的错误

您需要手动修复包含库以解决此问题(通过属性管理器)。

需要进行的重大修改如下:

  1. $(WindowsSDK_IncludePath)添加到包含路径中

  2. 根据您构建的是x84还是x64,将$(WindowsSDK_LibraryPath_x86)$(WindowsSDK_LibraryPath_x64)添加到库路径中。


2
你能否详细说明一下你是如何通过属性管理器解决问题的?因为我也遇到了同样的问题,而且在安装Visual C++时也出现了Update 1失败的问题,提示缺少某些文件。 - Geerten
@Geerten 确定:打开属性管理器(视图->属性管理器),选择其中一个项目,在调试->win32下,您将看到项目使用的属性表。右键单击+属性,在VC目录中确保包含目录包含“$(WindowsSdkDir_71A)include;$(FrameworkSDKDir_71A)include”。 - OSH
谢谢,但我已经通过卸载与2010和2012相关的所有内容,并扫描注册表中的任何内容来修复它。之后,干净的2012安装成功了 :) - Geerten
请问您能否复制并粘贴您的包含目录内容?我已经尝试了三个小时来编译某些东西,但它仍然在抱怨,我真的不知道哪些文件夹需要包含,以便VS2012能够找到特定的“windows.h”和“rpc.h”。 - Jeff Tucker
1
@JeffTucker 在这里:我在基本目录的顶部使用属性表(这些包含文件未在此处显示): $(VCInstallDir)include $(VCInstallDir)atlmfc\include $(WindowsSdkDir_71A)include $(FrameworkSDKDir_71A)include - OSH
显示剩余3条评论

0

当你将VS2010项目升级到VS2012时,同样的问题也会存在。

对我来说,手动修复包含目录(请参见先前答案中的步骤1)即可解决该问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接