2017-05-19 2 views
1

Existe-t-il un moyen dans boost :: serialization, d'indiquer à Serialization/Archives d'utiliser une version d'archive spécifique (comme dans https://github.com/boostorg/serialization/blob/boost-1.60.0/src/basic_archive.cpp)?boost :: versions d'archives de sérialisation entre v1.59 et v1.60

Nous avons rencontré le problème que le client est maintenant construit et livré avec Boost 1.60 alors que le serveur est encore 1.59. Le client envoie maintenant une archive-version de 14 alors que le serveur ne connaît que 13. Par conséquent, lancer une "version non supportée". Pour éviter les tracas de mise à jour boost sur le serveur: Peut-on dire au client d'utiliser l'ancienne version de l'archive 13?

On dirait que cela n'a commencé à nous piquer que lorsque nous sommes passés d'archives XML à PortableTextArchives (qui ne semblent être portables que sur des plates-formes pour la même version de boost ...).

Merci d'avance!

Répondre

1

La seule façon d'utiliser v13 est de compiler et de lier à la version de boost utilisée. Donc, il n'y a que la compatibilité ascendante, pas la rétrocompatibilité. En effet, vous voudrez toujours vous assurer que la version du serveur devance tous les clients déployés à un moment donné.

La portabilité est un "axe" différent pour ainsi dire. L'objectif est subtilement différent, et il n'y a donc pas de véritable conflit avec le manque de versionnage rétrocompatible.

+0

Merci, j'avais peur que ce soit le résultat. ;) – ghandi