2009-08-07 60 views
5

我有一個問題鏈接boost.asio。它採用boost.system和鏈接錯誤下手:鏈接boost.asio

/boost_1_39_0/boost/system/error_code.hpp:205:未定義的引用`的boost ::系統:: get_system_category()」

這意味着我需要鏈接boost.system。我已經建立了提升,現在我有幾個lib文件。

  • boost_system-mgw32-d-1_39.dll和IIb
  • libboost_system-mgw34-d-1_39.lib
  • libboost_system-mgw34-MT-d-1_39.lib
  • libboost_system-mgw34- sd-1_39.lib

等等。我如何鏈接它們?我使用哪一個?我將它們全部複製在一起?

我的系統是win32 + mingw + eclipse cdt + qt 4.5.2 + qt集成eclipse。我已經瞭解到,我需要在LIBS =部分添加我的.pro文件。

你能給我一些提示嗎?

謝謝。

回答

3

這些庫是根據是否啓用了多線程支持,靜態和動態鏈接,調試和發佈模式等命名的。下面是一些細節:

http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html#library-naming

我不知道關於日食,因爲我不使用它,但用gcc(和MinGW),你需要指定一個目錄來找到在圖書館(-L )和要鏈接的文件。例如,如果你想用單線程調試版本鏈接:

-L /路徑/要/庫-lboost_system-mgw34-SD-1_39