2010-11-04 104 views
0

我的項目有很多靜態庫(帶有源代碼)。 由於源代碼與原始版本不同,某些基本庫無法突出顯示。 我知道如果關閉「要求源文件與原始版本完全匹配」選項,我可以解決此問題,但該警告令我擔心。 它是Microsoft Visual Studio 2008的bug嗎? 我聽說它發生在源代碼的校驗和與obj不同時。 我有所有庫的來源,並鏈接爲靜態庫, 我清理和重建所有,但警告永遠不會消失。在VS 2008 SP1中進行調試時,斷點沒有連接

更糟糕的是,當我關閉「要求源文件與原始版本完全匹配」選項時,監視窗口無法顯示出現此錯誤的成員變量「FIX:來自Forward類的OMF類型中的CXX0033錯誤宣言」 http://support.microsoft.com/kb/131147/en-us?fr=1

我搜索堆棧溢出,並發現幾個類似的文章(http://stackoverflow.com/questions/163133/breakpoint-not-hooked-up-when-debugging-in-vs-net-2005)但那些幫不了我。

環境: 在Windows 2003服務器的x64 的Visual Studio 2008 SP1版本9.0.30729.1 SP

在此先感謝。

回答

0

仔細檢查您的符號和來源搜索路徑,以確保它們包含靜態庫的正確文件夾。檢查y7ou是否從正確的目錄鏈接.lib和.obj文件。另外,在調試器下打破程序,並檢查從哪裏加載庫的符號 - 它們應該來自同一個文件夾.obj和.lib來自。

+0

如何查看符號和來源搜索路徑在哪裏?不管怎樣,謝謝。 – 2010-11-04 04:16:02

+0

工具/選項/調試(我認爲) – 2010-11-04 05:36:54

+0

我發現這個鏈接,它的工作原理。經過一些實驗後,我會公佈結果。 「嘗試創建使用預編譯頭文件的調試庫可能會失敗,並且可能會生成致命的生成錯誤」#:http://kbalertz.com/102697/Build-Errors-Using-Precompiled-Header-Debugging.aspx – 2010-11-04 10:22:59

相關問題