fatal error LNK1201:寫入程序數據庫“***.pdb”時出錯;請檢查是否是磁盤空間不足、路徑無效或權限不夠

 fatal error LNK1201:寫入程序數據庫“***.pdb”時出錯;請檢查是否是磁盤空間不足、路徑無效或權限不夠 


最近用opencv2.4.10、vs2010做開發經常遇到這個問題,經百度發現大部分是vs自己的問題


解決辦法1:打開工程屬性,c/c++,常規,調試信息格式,改成C7兼容(/Z7)。(我用的這種)

解決辦法2:把使用pdb文件的處於調試或運行狀態下的vs.net停掉即可。



上面的錯誤在 MSDN的解釋如下:

寫入程序數據庫“filename”時出錯;請檢查是否是磁盤空間不足、路徑無效或權限不夠

LINK 未能寫入輸出文件的程序數據庫 (PDB)。

可能的原因 :

文件已損壞。刪除 PDB 文件然後重新鏈接。 
沒有足夠的磁盤空間寫入文件。 
可能由於網絡問題,驅動器不可用。 
調試器在您試圖鏈接的程序上是活動的。 

 

工作中,最容易出現的原因是最後一條:“調試器在您試圖鏈接的程序上是活動的。”

什麼意思呢,就是複雜項目開發中,有很多個項目,你調用着我的,我使用着他的;

你的和他的又在同一個解決方案下,這在由多個dll,多個exe組成的系統中最容易出現。

即:當你編譯某一項目時,該項目的pdb文件正被另一處於調試狀態

下的編譯器所使用,編譯無法向項目pdb文件寫入數據,無奈之下,編譯器只好

向你報LNK1201錯誤請求你協助解決。


轉自:http://blog.csdn.net/zhghost/article/details/5436978

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