2011-10-15 83 views
1

我已經編寫了一個在其實現中廣泛使用boost的DLL。我用libboost_thread-vc80-mt-1_40.lib,libboost_thread-vc80-mt-gd-1_40.lib發佈和調試boost庫的版本。我正在使用Visual Studio構建我的代碼並使用自動鏈接。 當我在調試版本中構建DLL時,它將鏈接到預期的libboost_thread-vc80-mt-gd-1_40.lib,但是當我在發佈模式下構建我的DLL時,它仍然嘗試將它與libboost_thread-vc80-mt -gd-1_40.lib而不是libboost_thread-vc80-mt-1_40.lib。我在發佈模式下構建時使用/ MD。 我不知道我錯過了什麼,有人可以請指出我。在visual C++的Release模式下使用boost的調試庫

+0

這是自動的,由boost/config/auto_link.hpp和#pragma註釋指令完成。簡單的解釋是,您仍然有一個或多個使用/ MT而不是/ MD編譯的.obj或.lib文件。如果你不知道可能是哪一個,請將文件格式化爲「/ MT」。 –

回答

1

你試過/ MT而不是/ MD嗎?

+0

我沒有mts boost庫,所以我不能使用該選項。 – user996808

0

查看在釋放配置中是否存在預處理器定義以及調試字,如果它存在,則必須將其刪除。

相關問題