未定义的引用`boost :: system :: get_posix_category()'

时间:2010-02-17 17:55:38

标签: boost linker

g++ simple_wget.cpp -lssl -lboost_system -lpthread -lcrypto -lboost_filesystem
/tmp/cc2jNHvk.o: In function `__static_initialization_and_destruction_0(int, int)':
simple_wget.cpp:(.text+0x5eb): undefined reference to `boost::system::get_posix_category()'
simple_wget.cpp:(.text+0x5f5): undefined reference to `boost::system::get_posix_category()'
collect2: ld returned 1 exit status

我知道在增强1.38中,get_posix_category()被删除了。求助于我,我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:2)

添加-static听起来像个坏主意,你可以使用它破坏代码的其他部分。要使用-static,你应该使用静态编译链接库,有时这种情况不会发生。

未定义的引用通常表示找不到boost_system。添加-I / path /到/ boost_system.so / .dylib / .dll和/ -L / path /到/ boost_system.so / .dylib / .dll

你应该首先找到boost_system。

答案 1 :(得分:0)

通过向g ++添加-static参数解决了问题。为什么它有效,所以我不知道。