我正在尝试将Boost序列化库链接到我的代码 . 但它似乎没有起作用 .
g serialize.cpp -L“/usr/local/lib/libboost_serialization.a”
错误:
/tmp/ccw7eX4A.o:在函数 boost::archive::text_oarchive::text_oarchive(std::basic_ostream<char, std::char_traits<char> >&, unsigned int)': serializep.cpp:(.text._ZN5boost7archive13text_oarchiveC2ERSoj[_ZN5boost7archive13text_oarchiveC5ERSoj]+0x25): undefined reference to
boost :: archive :: text_oarchive_impl :: text_oarchive_impl(std :: basic_ostream>&,unsigned int)'.......... collect2:ld返回1退出状态
但是当我作为共享库链接时,g serialize.cpp -lboost_serialization,它工作正常 .
我在这里失踪了什么
P.S:具有相同问题的其他StackOverflow帖子没有适用于上述错误的答案
2 回答
由于我无法重现您的问题,我能做的更好的是告诉您我通常如何静态编译boost_serialization:
这个命令行是完全错误的:
-L
标志告诉链接器在哪里寻找库;它不会告诉链接器使用您提供的库 . 试试这个: