我收到以下错误
In function `__static_initialization_and_destruction_0':
/usr/include/boost/system/error_code.hpp:208: undefined reference to `boost::system::get_system_category()'
/usr/include/boost/system/error_code.hpp:209: undefined reference to `boost::system::get_generic_category()'
我正在使用makefile编译
foo: foo.o xyz/libxyz.a
g++ -g -o foo foo.o xyz/libxyz.a -ljpeg -ltiff
foo.o: foo.cpp
g++ -I/usr/include/ -g -Ixyz -c foo.cpp -lboost_system -lboost_filesystem
在我已包含的代码中如下
#include <boost/dynamic_bitset.hpp>
我该如何解决这个问题? 任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
将链接选项移动到完成链接的g++ -o
命令。编译时不需要-l
,在链接时需要它们。
foo: foo.o xyz/libxyz.a
g++ -g -o foo foo.o xyz/libxyz.a -ljpeg -ltiff -lboost_system -lboost_filesystem
foo.o: foo.cpp
g++ -I/usr/include/ -g -Ixyz -c foo.cpp