VS2013找不到winres.h的解决办法
?好久沒有搞C++了,搞C++最煩就各種版本問題的報(bào)錯(cuò)。我對(duì)C++項(xiàng)目開發(fā)不是很熟悉,因?yàn)轫?xiàng)目需要用VS2013修改一個(gè)C++/MFC工程,一編譯就報(bào)錯(cuò)無法打開包括文件:“winres.h”: No such file or directory.
?上網(wǎng)查了一下,這個(gè)'winres.h'是Windows SDK的一個(gè)頭文件,打開C盤找一下,果然在Windows SDK目錄C:\Program?Files?(x86)\Microsoft?SDKs\Windows\v7.1A\Include下面。
?如果我猜測(cè)沒錯(cuò),那么原因應(yīng)該很簡(jiǎn)單了,就是這個(gè)項(xiàng)目工程沒有引用到Windows SDK。
打開C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\下的Microsoft.Cpp.Win32.user.props可以配置VC項(xiàng)目默認(rèn)的Include和Lib文件,打開來一看,里面明明有$(WindowsSdkDir)include,就是說VS2013默認(rèn)是有配置Windows SDK路徑的,為什么還是找不到這個(gè)winres.h呢。
? ? ?打開注冊(cè)表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSDKs\Windows\CurrentVersion and CurrentInstallFolder看一下
?
? ? 默認(rèn)的環(huán)境變量WindowsSdkDir是指向Windows Sdk的目錄沒錯(cuò)啊,怎么回事呢?再上網(wǎng)查一下終于明白怎么回事了,C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A下的SDK是老版本的Windows SDK,最新的Windows SDK被我安裝在C:\Program Files (x86)\Windows Kits\8.0\Include下,而且VS2013默認(rèn)使用的環(huán)境變量$(WindowsSDK_IncludePath),該環(huán)境變量包含了最新Windows SDK的下個(gè)的3個(gè)頭文件目錄:
?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
另外$(WindowsSDK_LibraryPath_x86)指向了新版SDK的Lib文件目錄.
?最后的解決辦法應(yīng)該是老版本$(WindowsSdkDir)目錄應(yīng)該被拋棄,新版環(huán)境變量調(diào)換掉老的環(huán)境變量。打開C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props,修改方法如下圖:
?紅圈部分的$(WindowsSdkDir)include和$(WindowsSdkDir)lib刪掉,新增$(WindowsSDK_IncludePath)和$(WindowsSDK_LibraryPath_x86)。
?VC++開發(fā)有關(guān)新環(huán)境變量:
1. VC_LibraryPath_x64 = D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64;D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\lib\amd64
2. VC_LibraryPath_x86 = D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib;D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\atlmfc\lib
3. WindowsSDK_IncludePath = C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.1\Include\winrt
4. WindowsSDK_LibraryPath_x64 = C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64
5. WindowsSDK_LibraryPath_x86 = C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
?
轉(zhuǎn)載于:https://blog.51cto.com/feilian/1893335
總結(jié)
以上是生活随笔為你收集整理的VS2013找不到winres.h的解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 让人难过的 openssl_pkcs7_
- 下一篇: App接入支付宝