1

我收到以下错误

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>

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

谢谢你。

4

1 回答 1

0

将链接选项移动到g++ -o完成链接的命令。's在-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
于 2013-11-02T16:45:13.957 回答