2013-08-12 59 views
3

我在Visual Studio中的一個解決方案中有兩個項目。其中一個項目(應用程序)依賴於另一個(庫)。該庫有一個方法:即使該函數存在未解決的外部符號錯誤char *

int foo(_TCHAR*); 

它在頭文件中正確定義並實現。在應用我這樣調用方法:

int bar(_TCHAR* str) { 
    return foo(str); 
} 

我得到的錯誤是

錯誤LNK2001:無法解析的外部符號 「市民:INT __cdecl 富(字符*)」

方法簽名完全相同,正在使用相同類型的變量。

+1

在投票前請注意,這是一個自我回答的問題。我花了很多時間才發現問題,我希望這個問答也能幫助其他人。 – Dariusz

回答

7

鏈接器無法匹配方法的原因是項目General Properties頁面中不匹配的Character Set選項。

圖書館項目將此選項設置爲Use Unicode Character Set,並將應用程序設置爲Use Multi-Byte Character Set

統一兩個項目中的字符集修復了此錯誤。

+4

哇。 Visual Studio再次觸發。 – arne

相關問題