在已經裝有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)。
以上修改之后應該就可以解決。
