v1.59和v1.60之间的boost :: serialization存档版本

时间:2017-05-19 07:06:11

标签: c++ boost version archive boost-serialization

在boost :: serialization中是否有一种方法可以告诉序列化/存档使用特定的存档版本(如https://github.com/boostorg/serialization/blob/boost-1.60.0/src/basic_archive.cpp中所述)?

我们遇到了麻烦,客户端现在已经构建并随Boost 1.60一起交付,而服务器仍为1.59。客户端现在发送14的归档版本,而服务器只知道13。因此抛出一个不受支持的版本"。为了避免在服务器上更新boost的麻烦:我们可以告诉客户端使用较旧的归档版本13吗?

当我们从XML档案切换到PortableTextArchives(对于相同的升级版本来说,它们似乎只能跨平台移植......)时,这似乎只是开始咬我们。

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用v13的唯一方法是编译并链接到使用它的boost版本。

因此,只有向前兼容性,而不是向后兼容性。实际上,您始终希望确保服务器版本优先于在任何给定时间部署的任何客户端。

便携性是一个不同的"轴"可以这么说。目标略有不同,因此与缺乏向后兼容的版本控制没有真正的冲突。