неопределенная ссылка на `boost :: system :: get_posix_category () ' - PullRequest
2 голосов
/ 17 февраля 2010
g++ simple_wget.cpp -lssl -lboost_system -lpthread -lcrypto -lboost_filesystem
/tmp/cc2jNHvk.o: In function `__static_initialization_and_destruction_0(int, int)':
simple_wget.cpp:(.text+0x5eb): undefined reference to `boost::system::get_posix_category()'
simple_wget.cpp:(.text+0x5f5): undefined reference to `boost::system::get_posix_category()'
collect2: ld returned 1 exit status

Я знаю, что в boost 1.38 get_posix_category () была удалена. Помогите мне, пожалуйста, что я могу сделать, чтобы решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 27 октября 2010

Добавление -static звучит как плохая идея, вы можете разбить другие части своего кода с ним. Для использования -static ваши связанные библиотеки должны быть скомпилированы с использованием static, иногда этого не происходит.

Неопределенная ссылка обычно указывает на то, что boost_system не найдена. Добавьте -I / путь / к / boost_system.so / .dylib / .dll и -L / путь / к / boost_system.so / .dylib / .dll

Возможно, вам следует сначала найти boost_system.

0 голосов
/ 17 февраля 2010

Проблема была решена добавлением параметра -static в g ++. Почему это работает, поэтому я не знаю.

...