2016-04-19 6 views
0

Ich versuche, mit gSOAP 2.8.30 mein Fenster Anwendung zu kompilieren, aber ich habe einen Fehler entdeckt, diegSOAP 2.8.30 Kompatibilität mit VS6 C++

wctomb_s nicht deklarierter Bezeichner i wandernden

So einfach ist, wenn Der letzte gSOAP ist nicht mit dem VC6 ++ kompatibel, da dieser Fehler von stdsoap2.cpp stammt. Vorher benutze ich gSOAP 2.8.6 funktioniert gut.

+0

Dies ist mit der Codierung verwandt. Versuchen Sie mit der Option "Zeichensatz" zu kompilieren, die auf "nicht gesetzt" eingestellt ist: Eigenschaften/Allgemein/Zeichensatz. – norisknofun

+0

Vielen Dank für Ihre Antwort. aber in VC6 hat keine Option den Zeichensatz zu deaktivieren. – Acan1234

Antwort

0

VS6 C++ unterstützt wctomb_s nicht (die empfohlene sicherere Version von wctomb). Upgrade auf einen neuen VS C++ Release oder aktualisieren, den Code in stdsoap2.cppsoap_string_in Funktion durch Ersetzen:

#ifdef WIN32 
     m = 0; 
     wctomb_s(&m, buf, sizeof(buf), (wchar_t)(c & 0x7FFFFFFF)); 
#else 
     m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF)); 
#endif 

mit:

 m = wctomb(buf, (wchar_t)(c & 0x7FFFFFFF)); 

an beide der zwei Stellen, an denen wctomb_s verwendet wird.