首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Boost.Serialization与PhysicsFS协同工作

如何让Boost.Serialization与PhysicsFS协同工作
EN

Stack Overflow用户
提问于 2011-10-22 20:12:45
回答 1查看 197关注 0票数 1

我想将PhysFS与Boost.Serialization结合使用。我找到了一个使用Boost.Iostreams创建PhysFS文件流的实现here。它适用于基本的操作,如果我尝试在Boost.Serialization中使用它,我在运行时会得到以下错误:

代码语言:javascript
复制
/usr/include/boost/iostreams/detail/optional.hpp:55: T& boost::iostreams::detail::optional<T>::operator*() [with T = boost::iostreams::detail::concept_adapter<PhysFS::FileDevice>]: Assertion `initialized_' failed.
Aborted

以下是代码的示例。

代码语言:javascript
复制
PhysFS::init(argv[0]);
PhysFS::setWriteDir(".");
PhysFS::FileStream ofs("test.xml", PhysFS::OM_WRITE);
boost::archive::xml_oarchive xml(ofs);
vec2 vec(3.1415, 2.5);
xml << BOOST_SERIALIZATION_NVP(vec);
ofs.close();
PhysFS::deinit();

有没有办法获得一个可以与Boost.Serialization这样的库一起工作的PhysFS文件流包装器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-26 20:04:50

我的错误是调用了ofs.close(),并在销毁ofs之前调用了PhysFS::deinit。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7859418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档