【发布时间】:2012-02-02 11:09:52
【问题描述】:
我正在使用 boost 序列化。我编译时使用:-L/opt/local/lib -lboost_serialization -stdlib=libc++,但出现了几个(不可搜索的)错误:
我正在序列化一个std::vector<std::string>:
boost::archive::text_oarchive oa(std::cout);
oa << tasks;
我的 boost 安装有问题吗?
boost 库是包含 32 位和 64 位机器代码的通用二进制文件(所以我猜这不是问题):
$ 文件 libboost_serialization.dylib libboost_serialization.dylib:具有 2 个架构的 Mach-O 通用二进制文件 libboost_serialization.dylib(用于 i386 架构):Mach-O 动态链接共享库 i386 libboost_serialization.dylib(用于架构 x86_64):Mach-O 64 位动态链接共享库 x86_64
我在 Mac OS X 10.7 上使用 sudo port install boost +universal 安装了 boost。
【问题讨论】:
-
也许 boost 是用与你使用的不同的编译器构建的?过去我在 macports 上遇到过类似的问题,但时间太长了,无法记住细节。
-
你能发布一个小例子来展示你如何尝试使用序列化库吗?我没有使用过它,但我非常有信心,一旦我有一个有效的测试用例,我就可以追踪问题......(工作方式:显示问题)。
标签: c++ macos boost ld boost-serialization