2012-05-26 18 views
0

我需要一些想法。 該代碼分爲多個項目,並且在主項目靜態鏈接一個子項目時發生錯誤。 我可能已經搞亂了子項目的設置,但我無法弄清楚如何解決這個問題。註釋掉幾個函數後的鏈接器錯誤

但基本上我現在已經找到了兩個子項目的功能,如果我在主項目中使用,一切都編譯好。如果我從主項目的源頭註釋掉這些函數調用,它會給我一些沒有註釋掉的函數上的鏈接器錯誤。 (來自同一個子項目)

當一切正常編譯時,我得到了一些鏈接器警告「警告LNK4049:本地定義的符號」,也許這與它有關?

如何解決這個問題?歡迎任何建議。

(試過:建設/重建一切)。

+2

我想你將需要顯示鏈接器命令行和可能的符號表內容的(非系統)庫和它的對象文件。該錯誤的MSDN頁面似乎很清楚,你看到什麼部分沒有回答那裏? – jthill

+0

我會檢查,但你沒有閱讀和理解,提到的鏈接器警告是不是我的問題是正確的?我只是認爲這可能與實際問題有關。我還沒有閱讀整個MSDN頁面,但它肯定不能說,當我刪除函數調用(這是真正的問題)時鏈接器應該中斷,可以嗎? – Cray

+0

不,我很抱歉地說我看到了我期望看到的,而不是那裏有什麼。非常古老的鏈接程序掃描連續給出的庫和對象文件一次,因此,如果鏈接器遇到鏈接器時庫中看起來沒有必要,它將不會被包含,鏈接器也不會記得看到它,所以後面的輸入引用任何東西有沒有解決...除非你再次包括它... – jthill

回答

0

你最有可能搞砸開幕式和閉幕式(曲)括號。

您要麼註釋掉太多,要麼留下一個未註釋的註釋。