码迷,mamicode.com
首页 > 其他好文 > 详细

VS2012找不到SDKDDKVer.h的Bug修复

时间:2014-06-08 05:37:00      阅读:376      评论:0      收藏:0      [点我收藏+]

标签:c   a   strong   文件   使用   os   

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

    原因:出现这个bug的原因是VS2012中关于Windows SDK的路径宏定义和VS2010不同,而在某种情况下VS2010的配置串扰到了VS2012。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\arm

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

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

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


    解决方法:修改Visual Studio 2012的props配置文件。用记事本打开C:\Users\<me>\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props,然后在<IncludePath>字段中添加$(WindowsSDK_IncludePath);再在<LibraryPath>字段中添加$(WindowsSDK_LibraryPath_arm);$(WindowsSDK_LibraryPath_x64);$(WindowsSDK_LibraryPath_x86);并保存。再去启动VS2012并编译工程就可以正常编译链接了。

VS2012找不到SDKDDKVer.h的Bug修复,布布扣,bubuko.com

VS2012找不到SDKDDKVer.h的Bug修复

标签:c   a   strong   文件   使用   os   

原文地址:http://blog.csdn.net/tianrolin/article/details/29208847

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!