【发布时间】:2012-09-28 16:55:30
【问题描述】:
我正在尝试将 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 toboost::archive::text_oarchive_impl::text_oarchive_impl(std::basic_ostream >&, unsigned int)'
…………
collect2: ld 返回 1 个退出状态
但是当我作为共享库链接时, g++ serialize.cpp -lboost_serialization ,效果很好。
我在这里错过了什么
P.S : 其他具有相同问题的 StackOverflow 帖子没有适用于上述错误的答案
【问题讨论】:
-
静态链接使用
-static关键字执行。此外,-l* 和 -L"lib*.a" 是相同的东西。