1. 程式人生 > >vs2012無法開啟包括檔案:“winsdkver.h”: No such file or directory

vs2012無法開啟包括檔案:“winsdkver.h”: No such file or directory

vs2012用著好好的 突然出現了這個問題“無法開啟包括檔案:“winsdkver.h”: No such file or directory ” 這明明是系統檔案,怎麼就是不能識別了,於是上網各種百度Google,嘗試了很多方法,終不能解決,比如有說沒有 SDK下的檔案,我看了我的電腦是沒有這個 C:\Program Files\Microsoft SDKs\Windows\v7.0\Include 這個目錄,於是就找了一個sdk安裝上去,但還是識別不了winsdkver.h ,

於是手動包含, C:\Program Files\Microsoft SDKs\Windows\v7.0\Include 裡面確實有winsdkver.h

這個檔案,編譯後又出現了其他問題,到這裡突然意識到是64位系統 還有一個Program Files (x86) 目錄,果然在這個目錄裡面有C:\Program Files (x86)\Microsoft SDKs\Windows,看來之前是白安裝了,但是又不敢解除安裝,怕把其他的系統檔案一起刪除了,就留著吧。。。重新在vs2012裡面手動包含C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include這個目錄,編譯還是不通過,具體是什麼問題我記不太清了,當時還把lib的路徑也手動新增進去了。。也嘗試了設定專案屬性-常規-Visual Studio 2012 - Windows XP (v110_xp)
,還是不行,於是只好無奈的把vs2012的安裝包重新開啟修復了一遍,大概一個小時過去了,重新編譯還是不行,找著前面的的辦法,手動新增include目錄和lib目錄以及更改平臺工具集為Visual Studio 2012 - Windows XP (v110_xp) 終於可以了。。。

唉,趕緊的寫程式碼完成老師的任務,今天開啟專案的時候寫了一會程式碼,之前編譯是好的,突然改了一個檔案又出現了cannot open include file 'winres.h'。。唉看來得好好看看是什麼問題了。


首先把我之前手動新增的路徑全部去掉,平臺工具集恢復為預設的第一個,編譯後還是出現第一次的問題無法開啟包括檔案:“winsdkver.h”: No such file or directory 。看了一下常規的include目錄下是這個樣子的


有我昨天安裝的bcg的殘留項?! 我已經解除安裝了的,怎麼還有,但是這個位置怎麼修改了。一定是在登錄檔或者某個檔案裡面,照著這個思路,先在登錄檔裡面搜尋了一下這個路徑的字串,刪除後發現,重新開啟vs2012還是有這個在,仔細看看這個登錄檔的位置,好像是vc6.0的路徑呀,看來是刪錯了,不過沒關係這個目錄本來就沒有用了。


於是又嘗試第二個方式修改,網上搜到這個文章,有修改方法,我參照第二個方式果然找到了設定的位置,但我沒按照他的方式修改,我對著我的筆記本上的vs2012的預設值修改的,

改了以後果然不報錯了,但是有一個lib檔案找不到,照著筆記本改好後,就可以了,平臺工具集是預設的就可以了

改完果然可以了。

要改的檔案的路徑在我的電腦是C:\Users\sk\AppData\Local\Microsoft\MSBuild\v4.0


預設的這個檔案是這個樣子的

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets">
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;C:\Program Files (x86)\BCGSoft\BCGControlBar Professional Evaluation\BCGCBPro;C:\Program Files (x86)\BCGSoft\BCGControlBar Professional Evaluation\BCGCBPro</IncludePath>
    <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;C:\Program Files (x86)\BCGSoft\BCGControlBar Professional Evaluation\bin;C:\Program Files (x86)\BCGSoft\BCGControlBar Professional Evaluation\bin</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup />
  <ItemGroup />
</Project>
改完了是這個樣子的
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets">
  </ImportGroup>
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <IncludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include;$(WindowsSDK_IncludePath)</IncludePath>
    <LibraryPath>$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(WindowsSdkDir)lib;$(FrameworkSDKDir)\lib;$(WindowsSDK_LibraryPath_x86)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup />
  <ItemGroup />
</Project>

唉 不容易啊 。。。