Boost序列化:归档“不支持的版本”例外
当我尝试通过文本存档反序列化之前使用较高版本的 Boost(1.46 序列化和 1.38 反序列化)序列化的一些数据时,出现异常“不支持的版本”...是否存在降级(在代码中)序列化的方法?
像“set_library_version”之类的东西?
I've got the exception "unsupported version" when I try to deserialize through a text archive some data previously serialized with a upper version of Boost (1.46 to serialize and 1.38 to deserialize)...is there a way to downgrade (in the code) the serialization?
Something like "set_library_version"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
请参阅读取旧 Boost 版本创建的二进制存档时出错< /em> 关于序列化错误的邮件存档帖子。
它说下面的代码可以完成这项工作:
See the Error read binary archive, created by old Boost version mail archive post about the serialization error.
It says that the code below does the job:
使用 text_archive ...我最近也遇到了一个问题。
我最近在Windows上将boost从1.67升级到1.72,在Windows上生成了一些数据。当我在仍使用 Boost 1.67 的 Linux 环境上运行数据时,它会抛出不支持。
1.67 的标题看起来像这样
,1.72 看起来像
我将 17 更改为 16,它对我的用例很满意。
Using text_archive ... I had a recent issue with this also.
I recently upgraded boost from 1.67 to 1.72 on Windows, generated some data on Windows. When I ran the data on my Linux environment which is still on Boost 1.67, it throws not supported.
The header for 1.67 looked like this
and 1.72 looked like
I changed 17 to 16 and it was happy for my use case.