Не удалось связать libboost_system и libboost_thread - PullRequest
0 голосов
/ 31 января 2019

Я пытаюсь создать проект, который включает Boost library и Gstreamer framework в разных потоках Boost.

Я использую IDE eclipse CDT (C ++ lang)программировать.и я сталкиваюсь с этой ошибкой "неопределенная ссылка на boost::system::generic_category()" .Я посмотрел несколько похожих постов, в которых единодушно предлагается добавить -lboost_system и -lboost_thread в ссылку g ++.Однако я все еще сталкиваюсь с проблемой.

Вот несколько строк из консоли затмения, на которые я смотрю:

Building target: IBMCmake

Invoking: GCC C++ Linker

g++ -L/usr/lib64 -L/usr/local/lib64 -L/usr/lib -o "IBMCmake"  ./src/WatsonAuth/IbmTokenGenerator.o  ./src/GstRtpDepay/GstRtpDepayloader.o  ./src/IbmWebSock.o ./src/main.o   -lboost_system -lboost_thread -lpthread -lglib-2.0 -lgstreamer-1.0 -lgobject-2.0 -lcurl -lssl -lcrypto
./src/GstRtpDepay/GstRtpDepayloader.o: In function `boost::system::error_category::std_category::equivalent(int, std::error_condition const&) const':
/usr/include/boost/system/error_code.hpp:676: undefined reference to `boost::system::generic_category()'
/usr/include/boost/system/error_code.hpp:679: undefined reference to `boost::system::generic_category()'
...
...
...
./src/IbmWebSock.o: In function `boost::system::error_code::error_code()':
/usr/include/boost/system/error_code.hpp:449: undefined reference to `boost::system::system_category()'
...
...
...

Я не уверен, что может быть причиной этого.Как я могу решить эту ошибку?Есть предложения?

Обратите внимание: «IBMCmake» - это просто название, данное мне проектом.Не использует cmake для компиляции.

1 Ответ

0 голосов
/ 05 февраля 2019

boost_system и boost_threads обычно интегрируются в систему.Таким образом, возможно иметь поврежденные ссылки или обновленные ссылки.

Я переустановил надстройку из инструкции на Повысьте старые версии

Это решило проблему с линковкой.

...