vs編譯報錯error MSB3191無法創建目錄

在使用vs編譯時報錯

先說我這個問題的解決方法再分析,修改屬性->鏈接器->生成數據庫文件選項,設置一個正常的路徑就可以了,或者設置爲$(TargetDir)$(TargetName).pdb。

從錯誤提示可以明顯的看出提示無法創建目錄的路徑是一個錯誤的路徑我們只要將路徑修改正確應該就可以了,而對於各種路徑和編譯參數設置都是在屬性中設置的,但是屬性中相關設置項太多了我們怎麼才能快速定位呢?這裏有兩個定位辦法。

方法一:

當你不知道具體是哪個選項的設置時在每個大的設置選項下都有一個命令行這裏麪包含了所有當前target下的設置,可以將命令行中的內容拷貝出來然後搜索報錯提示內容定位到具體的target再逐個檢查修改。

方法二:

從圖示中我們可以很清楚的看到當前vs正在執行的操作是在創建目錄並且失敗,看圖中紅框標識的內容只要英語不是太差可以知道當前正在爲link創建目錄,而在屬性設置中就有鏈接器這個選項所以我們知道這個錯誤是我們鏈接器下某個選項設置錯誤,我們就能很快定位到錯誤了。

另外針對方法二擴展一下,當我們在vs中點擊生成後解決方案後(F7)會進行語法檢查、編譯、鏈接最後生成我們的可執行文件,這些步驟可以稱爲一個個targets,在我當前使用的這個版本vs2015針對這個錯誤雙擊錯誤行會打開文件Microsoft.CppBuild.targets,裏面包含了整個生成解決方案執行流程有興趣的可以自行了解,搜索當前target MakeDirsForLink可以發現當前target屬於Link targets所以可以去鏈接器裏查找。當我們對生成流程有一定了解當生成是發生錯誤可以有助我們更快定位問題所在。

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