Von Debug auf Release umgeschaltet: 80 Fehler
-
Hallo Forum,
ich habe ein kleines Projekt mit dem Visual Studio 6 erstellt. Im Debug Modus läuft alles wunderbar. Schalte ich auf Release um bekomme ich 80 Fehlermeldungen:
C:\Program Files\Microsoft SDK\include\rpcdce.h(244) : error C2061: syntax error : identifier 'ULONG_PTR'
C:\Program Files\Microsoft SDK\include\rpcdce.h(252) : error C2061: syntax error : identifier 'ULONG_PTR'
C:\Program Files\Microsoft SDK\include\rpcdcep.h(121) : error C2146: syntax error : missing ';' before identifier 'Reserved'
C:\Program Files\Microsoft SDK\include\rpcdcep.h(121) : error C2501: 'LONG_PTR' : missing storage-class or type specifiers
C:\Program Files\Microsoft SDK\include\rpcdcep.h(121) : error C2501: 'Reserved' : missing storage-class or type specifiers
C:\Program Files\Microsoft SDK\include\rpcdcep.h(158) : error C2146: syntax error : missing ';' before identifier 'Reserved'
...Die erste Fehlermeldung meckert diesen Code im SDK Header RpcDcs.h an:
/* client */ RPCRTAPI RPC_STATUS RPC_ENTRY RpcBindingSetOption( IN RPC_BINDING_HANDLE hBinding, IN unsigned long option, IN ULONG_PTR optionValue );Wenn ich im Internet suche erhalte ich Hinweise das man "_MBCS" definieren müsste. Dieses Makro ist aber sowohl in Debug als auch in der Release Konfiguration definiert. Habt Ihr einen besseren Tip?
-
Nachtrag: Das man in Tools->Options->Directories den Include Pfad des SDK an den Anfang setzen muß weiß ich. So ist es momentan auch.
-
siehe auch mein letzter Beitrag.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-183022.html_MBCS ist die Einstellung für den Zeichensatz "Multi-Byte-Zeichensatz verwenden".
Das hier sieht mir nicht danach aus. Gab es ULONG_PTR schon unter VC6?
-
Hallo Tester2,
vielen Dank für die Antwort. ULONG_PTR wird im VS6 so aufgekösst:
typedef _W64 unsigned long ULONG_PTR, *PULONG_PTR;Ich habe nochmal genau die Compiler Settings Debug und Release verglichen. Scheinbar werden diese nicht gleichzeitig upgedated. Wenn sich der Name meine Projektes ändert, oder wenn ich auf Unicode umschalte zB. (Das ist wohl auch so gewollt, ich wußte es nur nicht.) Auf jeden Fall war in im Release "UNICODE" nicht definiert. Jetzt kann ich es kompilieren...