Bonjour,

j'ai un problème avec BOOST et la sérialisation de chaine de caractères UNICODE.
Nous utilisons déjà la sérialisation de nos classes en flux XML dans nos webservice, mais jusqu'à maintenant nos chaines de caractères étaient en ASCII.
J'ai donc la charge de faire une maquette en modifiant un de nos webservice en UNICODE, mais je bloque sur la partie sérialisation au moment de créer l'archive.

Voilà le code que l'on utilise pour le moment en ascii

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
std::ifstream  oInputStream(szXmlDefinition.c_str());
boost::archive::xml_iarchive oXmlInputArchive(oInputStream);
oXmlInputArchive >> SERIALIZE_MEMBER(szNomObjet,    oObjet );
szXmlDefinition est une chaine ASCII


et voilà comment j'ai essayé de le faire en unicode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
std::wistringstream  oInputStream(szXmlDefinition.c_str());
boost::archive::xml_wiarchive oXmlInputArchive(oInputStream);
oXmlInputArchive >> SERIALIZE_MEMBER(szNomObjet,    oObjet );
szXmlDefinition est une chaine UNICODE.

Tout compile bien, le problème se pose au moment du link, Visual C++ ne trouve pas xml_wiarchive, même en liant la librairie wserialization.
Je ne sais pas si c'est la bonne façon de faire.

J'espère que quelqu'un a une solution à mon problème et qu'on pourra me débloquer.

Merci d'avance.