首页 > 代码库 > 无法打开包括文件:“SDKDDKVer.h”: No such file or directory

无法打开包括文件:“SDKDDKVer.h”: No such file or directory

在已经装有Visual Studio 2010的系统中,同时安装Visual Studio 2012,安装过程很顺利,但到使用VS2013时,却出问题了。

 

本文主要介绍:VS中新建工程编译时出现,“无法打开包括文件:“SDKDDKVer.h”:  No such file or directory”问题的解决方法。

 

机器同时安装了Visual Studio 2013和低版本(如VS2010),运行一段时间后会出现一个bug。新建或旧的Win32/MFC工程在编译时,编译器提示:fatal error C1083: 无法打开包括文件:“SDKDDKVer.h”: No such file or directory

    原因:出现这个bug的原因是VS2013中关于Windows SDK的路径宏定义和VS2010不同,而在某种情况下VS2010的配置串扰到了VS2013。VS2010中定义包含目录的宏为$(WindowsSdkDir)include,指向的目录是C:\Program Files (x86)\Windows Kits\8.0\Include。而搜索到SDKDDKVer.h文件在C:\Program Files(x86)\Windows Kits\8.0\Include\shared路径下。所以这里应更正为使用VS2012中新的宏定义$(WindowsSDK_IncludePath)。该宏包括了三个路径:

    C:\Program Files (x86)\Windows Kits\8.0\Include\um

    C:\Program Files (x86)\Windows Kits\8.0\Include\shared

    C:\Program Files (x86)\Windows Kits\8.0\Include\winrt

    类似还需要更改的是关于库目录的宏定义,VS2010下的$(WindowsSdkDir)lib指向为C:\Program Files (x86)\Windows Kits\8.0\Lib,需要更改为

    C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86

    那如何更改VS2013的配置环境,使得这个宏生效呢?

 

    解决方法:可以试试在 INCLUDE 目录增加:$(WindowsSDK_IncludePath)
在 LIB 目录增加:$(WindowsSDK_LibraryPath_x86)
如果是ARM平台或X64平台,用这两个宏:$(WindowsSDK_LibraryPath_arm) 、$(WindowsSDK_LibraryPath_x64)。
以上修改之后应该就可以解决。

 

无法打开包括文件:“SDKDDKVer.h”: No such file or directory