我正在尝试制作一个在不同的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进行编译。
答案 0 :(得分:0)
boost_system
和boost_threads
通常是系统集成的。因此,可能有损坏的链接或更新的链接。
我根据Boost older versions上的说明重新安装了加速功能
这解决了链接问题。