VS2015編譯器問題簡單記錄整理

來源1:https://www.cnblogs.com/youyoui/p/5720719.html

來源2:https://blog.csdn.net/Carl_Qi/article/details/51171280#commentBox

 

問題:VS2015安裝後stdio.h ucrtd.lib等文件無法識別問題,即include+lib環境變量配置

今天突然想在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文件夾,這是不一致的,這有可能導致了環境變量的配置錯誤,所以以上這種手工的配置方法是沒問題的。

 

 

 

問題:VS2015community 無法查找或打開 pdb 文件

解決辦法:

1.點擊工具->選項, 在選項窗口中展開左側菜單;

2.展開調試->常規,然後在右邊的窗格中勾選“啓用服務器支持”;

3.然後展開調試->符號,勾選“Windows符號服務器”,彈出的警告對話框,點擊“確定”關閉選項窗口;

4.F5,或者點擊“本地Windows調試器”調試運行程序,第一次運行該程序時,會從Windows服務器上下載相關的符號集,這需要一點時間;

5.隨後,程序啓動,就不會報這些問題了。

 

問題:VS2015communityF5調試程序時閃退

解決辦法:

1.使用Ctrl+F5快捷鍵,或者選擇調試->開始調試(不執行);

2.在程序入口main()函數的return語句之前加上getchar();

3.在程序入口main()函數的return語句之前加上system("pasue");

4.更改項目配置:項目->屬性->配置屬性->鏈接器->系統->子系統->控制檯 增加“/SUBSYSTEM:CONSOLE”鏈接選項就可以了(該方法有時候沒有用)。

 

問題:VS2015community 添加單元測試時,報很多無法解析的外部符號錯誤

解決辦法:

郵件測試項目,屬性->鏈接器->輸入->附加依賴項,編輯,添加構建項目的Debug項目下的obj文件就可以了。

../PoCreate/Debug/PoCreate.obj
../PoCreate/Debug/DirGenerate.obj
../PoCreate/Debug/MsgidGenerate.obj

 

問題:VS2015community F9添加斷點時,提示:當前不會命中斷點 還沒有爲該文檔加載任何符號

解決辦法:

右鍵項目,選擇重新生成就可以了

 

問題:VS2015community 文件的編碼怎麼轉換

解決辦法:

選擇文件菜單下,高級保存選項,然後選擇相應的編碼就可以了。不過這樣只能一個一個文件慢慢轉換。

 

問題:VS2015community 打了斷點,但是調試的時候斷點沒有生效

解決辦法:

把文件的編碼格式設置爲Unicode,保存爲UTF-8就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章