Die folgende C++ Bibliothek in VS2008 erfolgreich kompiliert wurdeVS2008 -> VS2010 führt zu kryptischen STL Fehler
http://sourceforge.net/projects/xmlrpcc4win/files/xmlrpcc4win/XmlRpcC4Win1.0.8.zip/download
Wenn ich es in VS2010 öffnen, geht es durch den Konvertierungsassistent Prozess ohne Fehler.
Nun, wenn ich es in VS2010 zu kompilieren versuchen, erhalte ich einige seltsame STL Fehler wie diese:
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
Ich bin nicht sicher, was einige von ihnen zu machen. Zum Beispiel ist back_insert_iterator
in der Tat ein Mitglied von std
, aber VS scheint nicht zu denken, dass es ist.
Wie behebe ich Fehler wie diese? Sie scheinen einfach keinen Sinn zu machen, deshalb bin ich mir nicht sicher, wo ich anfangen soll. Vielleicht ist es etwas in meinen Projekteinstellungen?
Zum Beispiel, hier ist die Linie 1018, die die std Fehler gibt:
std::back_insert_iterator<BinaryData> ins = std::back_inserter(*(u.asBinary));
Wenn jemand mir irgendeine Richtung geben könnte ich es schätzen würde. Ich bin neu genug für C++, dass es mir schwer fällt, diesen herauszufinden.
Ich bin froh, dass das Microsoft-Team die STL-Bibliothek strafft. Ich musste das für das SDK für unser Produkt tun, und wir mussten viele einschneidende Änderungen wie folgt einführen. Aber es war alles zum Besten. –