VS2008 -> VS2010 conduit à cryptique STL erreurs

La suite de la bibliothèque C++ a été compilé avec succès dans VS2008

http://sourceforge.net/projects/xmlrpcc4win/files/xmlrpcc4win/XmlRpcC4Win1.0.8.zip/download

Quand je l'ouvre dans VS2010, il passe par la conversion de la procédure de l'assistant sans erreurs.

Maintenant, quand j'essaye de le compiler dans VS2010, je reçois un étrange STL erreurs de ce type:

1>TimXmlRpc.cpp(1018): error C2039: 'back_insert_iterator' : is not a member of 'std'
1>TimXmlRpc.cpp(1018): error C2065: 'back_insert_iterator' : undeclared identifier
1>TimXmlRpc.cpp(1018): error C2275: 'XmlRpcValue::BinaryData' : illegal use of this type as an expression
1>TimXmlRpc.cpp(1018): error C2065: 'ins' : undeclared identifier
1>TimXmlRpc.cpp(1018): error C2039: 'back_inserter' : is not a member of 'std'
1>TimXmlRpc.cpp(1018): error C3861: 'back_inserter': identifier not found
1>TimXmlRpc.cpp(1019): error C2065: 'ins' : undeclared identifier
1>TimXmlRpc.cpp(1031): error C2039: 'back_insert_iterator' : is not a member of 'std'
1>TimXmlRpc.cpp(1031): error C2065: 'back_insert_iterator' : undeclared identifier
1>TimXmlRpc.cpp(1031): error C2275: 'std::vector<_Ty>' : illegal use of this type as an expression
1>          with
1>          [
1>              _Ty=char
1>          ]
1>TimXmlRpc.cpp(1031): error C2065: 'ins' : undeclared identifier
1>TimXmlRpc.cpp(1031): error C2039: 'back_inserter' : is not a member of 'std'
1>TimXmlRpc.cpp(1031): error C3861: 'back_inserter': identifier not found
1>TimXmlRpc.cpp(1032): error C2065: 'ins' : undeclared identifier

Je ne sais pas quoi faire de certains de ces. Par exemple,
back_insert_iterator est en fait un membre de std, mais VS ne semble pas penser qu'il est.

Comment puis-je corriger les erreurs comme celle-ci? Ils ne semblent tout simplement pas beaucoup de sens si je ne suis pas sûr où commencer. Peut-être quelque chose dans mes paramètres du projet?

Par exemple, voici la ligne de 1018, ce qui donne l'erreur std:

std::back_insert_iterator<BinaryData> ins = std::back_inserter(*(u.asBinary));

Si quelqu'un pouvait me donner une certaine direction, je l'apprécierais. Je suis assez nouveau à C++ que je vais avoir un moment difficile essayer de comprendre celui-ci.

InformationsquelleAutor Jake Wilson | 2010-06-02