未定义的提升参考

时间:2013-11-02 16:42:47

标签: c++ boost

我收到以下错误

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>

我该如何解决这个问题? 任何帮助将不胜感激。

谢谢。

1 个答案:

答案 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