无法链接libboost_system和libboost_thread

时间:2019-01-31 07:14:04

标签: c++ boost build linker eclipse-cdt

我正在尝试制作一个在不同的Boost线程中包含 Boost库 Gstreamer框架的项目。

我正在使用Eclipse CDT(C ++ lang)IDE进行编程。并且我遇到此错误“对boost::system::generic_category()的未定义引用” 。我看过一些类似的文章,它们一致建议在g ++链接中添加-lboost_system-lboost_thread。但是我仍然面临这个问题。

以下是我正在查看的eclipse控制台中的几行:

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 :(得分:0)

boost_systemboost_threads通常是系统集成的。因此,可能有损坏的链接或更新的链接。

我根据Boost older versions上的说明重新安装了加速功能

这解决了链接问题。