我正在使用visual studio 2008.我想在源代碼中使用C++庫。在我的電腦上安裝庫後,我有一些包含文件以及一些庫文件。另外,在bin文件夾中還有msvcm80.dll,msvcp80.dll和msvcr80.dll。使用.lib文件構建項目的奇怪行爲
我在連接下面解釋的項目時遇到問題。我在網上搜索,但我沒有找到我的問題的相對答案。
我做了以下程序:
我用資源管理器庫軟件,並發現該.lib文件是建立在發佈配置。
我將visual studio解決方案構建在32位的發佈模式中。我不確定我是否應該使用32或64.(下面我解釋了將此更改爲x64平臺時會發生什麼情況)。
我將庫文件添加到其他庫目錄中的鏈接器依賴項及其路徑。
我在源代碼中包含頭文件。
當我嘗試構建解決方案時,我在我的源代碼中調用的函數上收到錯誤「LNK2001:無法解析的外部符號」。即使我刪除庫依賴關係並在鏈接器配置中刪除它們的路徑,我也會得到相同的錯誤。
我的問題是,爲什麼鏈接器沒有在我的源代碼庫文件中找到被調用函數?
當我將平臺從Win32更改爲x64時,出現錯誤LNK 2001,但在另一個函數上。區別在於鏈接器正在抱怨我的源代碼中沒有直接調用的函數。
有人能幫我找出這個錯誤的原因嗎?如果我沒有清楚解釋我的問題,請告訴我。
感謝,
艾哈邁德
也許這是一個C庫,所以你必須編寫#include extern「C」{}這只是猜測,請聯繫庫所有者以獲得支持。 – 2012-02-23 12:04:08
這是一個C++庫。我會很感激你的想法。 – AFP 2012-02-23 17:22:58