轉載自:http://blog.csdn.net/carl_qi/article/details/51171280
今天突然想在windows上裝個 VS2015 玩玩,結果遇到了如下bug:
安裝完 VS2015 后,直接新建項目->win32控制台->運行,結果報錯!
"無法打開包括文件: “stdio.h”: No such file or directory”
"lnk1104:無法打開文件 ucrtd.lib ”
奇了怪了,stdio.h 和 ucrtd.lib 都是 VS 自帶的頭文件和庫文件,都無法識別,所以第一反應就是這個頭文件和庫文件的目錄沒有正確的導入,即include 和 lib的環境變量出了問題。
這個問題網上有幾個解決方法,但是本人試過大部分的解決方案都不好用,而且都是針對當前項目單獨設置的(我可不想每次新建一個項目就得重新配一下環境,太麻煩了。。。),所以這里直接提供一個全局的解決方法:
1.首先打開VS2015,新建一個項目,我這里新建的項目名稱為"201604172330_helloworld"(名稱隨意),然后點擊菜單欄"視圖"->"其他窗口"->"屬性管理器",從而調出屬性管理器頁面。

2.我的"屬性管理器"頁面是在 VS2015 窗口的右側,然后在項目名稱"201604172330_helloworld"下找到"Debug | Win32"文件夾,雙擊"Microsoft.Cpp.Win32.user"。

3.在彈出的屬性頁中,點擊左側的"VC++ 目錄",分別選擇"包含目錄" 和 "庫目錄" 右側的下拉箭頭,然后點擊"編輯" ,從而修改環境變量。

4.對於include環境變量的編輯,首先取消勾選"從父級或項目默認設置繼承", 然后在最上方添加紅框中的5條路徑,點擊確定。

5.對於lib環境變量的編輯,保留勾選"從父級或項目默認設置繼承", 然后在最上方添加紅框中的1條路徑,點擊確定。

6.至此完成環境變量的重配工作,重新編譯運行就正常了。
對於為什么之前的環境變量無法應用,網上普遍反映是VS2015中的一個Bug,而且我發現如果是選擇"從父級或項目默認設置繼承"時,在Windows Kits\10\include 和 Windows Kits\10\lib 目錄下導入的是10.0.10240.0文件夾,但是我的本機目錄下是10.0.10150.0文件夾,這是不一致的,這有可能導致了環境變量的配置錯誤,所以以上這種手工的配置方法是沒問題的。