2010-11-18 68 views
1

我有一個VC2008項目非常複雜。爲了理解它的內部工作原理,我試圖簡化它,現在我得到了以下類型的289錯誤:大部分文件:什麼是與VC2008項目相關的C2471,C1083錯誤以及如何糾正它們

錯誤5錯誤C2471:無法更新程序數據庫'c:\ users \ ryan \ documents \ visual studio 2008 \ projects \ vc \ myinfo \ cli \ debug \ vc90.pdb'c:\ users \ ryan \ documents \ visual studio 2008 \ projects \ vc \ myinfo \ cli \ mediainfo \ file__analyze_buffer_minimizesize.cpp 1 CLI

錯誤6致命錯誤C1083:無法打開程序數據庫文件:'c:\ users \ ryan \ documents \ visual studio 2008 \ projects \ vc \ myinfo \ cli \ debug \ vc90.pdb':沒有這樣的文件或目錄C:\用戶\瑞安\文檔\ Visual Studio 2008的\項目\ VC \ MyInfo的\ CLI \的MediaInfo \ file__analyze_buffer_minimizesize.cpp 1個CLI

我的系統:WIN7/VS2008

+1

撤消您所做的任何更改,錯誤應該消失。是的,這很明顯,但如果你小心不要一次做太多改變,搞清楚你做了什麼來打破這個項目應該很容易。 – Brian 2010-11-18 16:34:54

+1

不幸的是,你不能'撤消'對項目文件的更改,除非你可以以某種方式替換未被破壞的工作副本,就像通過源代碼控制一樣。 – 2010-11-18 16:41:47

回答

3

我已經看到了同樣將VS2003.Net解決方案轉換爲在更高版本的IDE上運行時的行爲。我的猜測是,您的解決方案包含多個指向相同中間目錄的項目。在VS2005和更高版本中,不相互依賴的項目可以並行構建,因此如果使用相同的工作目錄,則可以像這樣獲得文件衝突。

檢查如下。在解決方案資源管理器中,右鍵單擊其中一個失敗的項目並選擇屬性。在配置屬性 - >常規部分中,確保每個項目都有不同的「中間目錄」。再次嘗試使用「重建解決方案」進行構建,以清除所有問題。

+0

我只有一個項目... – rsjethani 2010-11-18 16:46:41

+0

@ryanlancer - 然後@Brian和@Noah Roberts在評論中提出的建議,以反饋您的更改並逐步重新實現它們,在每次更改之後構建,是您最好的選擇。如果您還沒有獲得原始項目和解決方案(gulp),那麼您可以嘗試與現在使用「現有代碼的新項目」一起重新創建項目。儘管這很痛苦。 – 2010-11-18 16:52:30

+2

嘗試查殺'mspdbsrv.exe',然後重新啓動IDE並重建。據說這個過程中存在一個錯誤。 – 2010-11-18 16:57:22

1

大多數時候,當我得到「C2471:無法更新程序數據庫」,這是因爲PDB文件因某種原因被鎖定。通常在我的情況下,原來是因爲我的程序正在其他窗口中運行,這會將PDB文件加載到內存中。

當這不是原因時,我發現要做一次重建 - 所有這些都會奇蹟般地解決問題。

+0

我沒有重建但是......仍然是同樣的問題。 – rsjethani 2010-11-18 16:48:58

+0

@ryanlancer:那麼我恐怕你別無選擇,只能退出你的改變 – 2010-11-18 16:54:28

6

解決方案1 ​​:在找到解決方案* .vcxproj文件,在文本編輯器中打開並搜索「DebugInformationFormat '並將其設置爲'OldStyle'。重新加載您的項目並構建。如果您的解決方案中包含多個項目,則需要對所有* .vcxproj文件進行此更改。

< DebugInformationFormat>舊式</DebugInformationFormat>

解決方案2:從Visual Studio中,每個項目在解決方案中右鍵打開屬性。展開'配置屬性'>'C/C++'>'常規'。將「調試信息格式」更改爲「C7 compatible(/ Z7)」。然後建立你的解決方案

這對我有效。 (YMMV =你的里程可能有所不同:)

0

這對我有效。

殺死mspdbsrv。exe文件,並重新加載的Visual C++

MSDN

相關問題