связывание boost.asio - PullRequest
       6

связывание boost.asio

5 голосов
/ 07 августа 2009

У меня проблема с подключением boost.asio. Он использует boost.system и ошибки компоновщика начинаются с:

/ boost_1_39_0 / boost / system / error_code.hpp: 205: неопределенная ссылка на `boost :: system :: get_system_category () '

, что означает, что мне нужно связать boost.system. Я уже собрал boost и теперь у меня есть несколько файлов lib.

  • boost_system-mgw32-d-1_39.dll и lib
  • libboost_system-mgw34-д-1_39.lib
  • libboost_system-mgw34-т-д-1_39.lib
  • libboost_system-mgw34-сд-1_39.lib

и еще немного. Как мне их связать? Какой я использую? Я копирую их все вместе?

Моя система - win32 + mingw + eclipse cdt + qt 4.5.2 + интеграция qt для eclipse. Я уже узнал, что мне нужно в разделе LIBS = моего файла .pro.

Можете ли вы дать мне несколько советов?

Спасибо.

1 Ответ

3 голосов
/ 07 августа 2009

Библиотеки именуются в зависимости от того, включена ли поддержка многопоточности, статической и динамической связи, режима отладки и выпуска и т. Д. Вот некоторые детали:

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

Я не уверен насчет eclipse, так как я им не пользуюсь, но в gcc (и mingw) вам нужно указать как каталог для поиска библиотек в (-L), так и файл для ссылки. Например, если вы хотите связать с однопоточной версией отладки:

-L / путь / к / библиотекам -lboost_system-mgw34-sd-1_39

...