轉載自:http://blog.csdn.net/carl_qi/article/details/51171280windows
今天忽然想在windows上裝個 VS2015 玩玩,結果遇到了以下bug:.net
安裝完 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文件夾,這是不一致的,這有可能致使了環境變量的配置錯誤,因此以上這種手工的配置方法是沒問題的。