Seltsame Warning C4305/C4309
-
Der Tipp mit der 172 war goldrichtig. Wenn ich diese Zahl abändere in 127 verschwindet die warning. Das hilft zwar nicht viel, da der precompiler beim nächsten mal wieder 172 reinschreibt, aber zumindest weiß ich jetzt warum die warning erscheint.
Vielen Dank!
-
und wenn Du unsigned char nimmst.
oder #define char unsigned char.
die Compileroption suchst, die char unsigned macht.
oder mit #pragma warning die Warnung unterdrücken.
-
volkard schrieb:
und wenn Du unsigned char nimmst.
Der komplette Block wird vom DB2-Precompiler reingeschrieben.
oder #define char unsigned char.
ÜÄRGS!

die Compileroption suchst, die char unsigned macht.
Für MSVC wäre das Kommandozeilenparameter /J
oder mit #pragma warning die Warnung unterdrücken.
So machen wirs auf Arbeit auch. Was anderes haben wir da leider auch noch nicht gefunden...
-
Wie wäre es damit, die erzeugte Datei vor der Verwendung zuerst noch durch einen text editor (sed&co) zu jagen? Das kann man dann auch automatisiert mit dem Precompileraufruf verknüpfen.
-
Man könnte die generierten Source-Files auch mit dem Switch
/J (Default char Type Is unsigned)übersetzen.
-
pumuckl schrieb:
volkard schrieb:
und wenn Du unsigned char nimmst.
Der komplette Block wird vom DB2-Precompiler reingeschrieben.
oder #define char unsigned char.
ÜÄRGS!

die Compileroption suchst, die char unsigned macht.
Für MSVC wäre das Kommandozeilenparameter /J
oder mit #pragma warning die Warnung unterdrücken.
So machen wirs auf Arbeit auch. Was anderes haben wir da leider auch noch nicht gefunden...
Ich habs jetzt mal mit
#pragma warning(disable:4305 4309)probiert. Leider generiert der Precompiler die Pragma-Meldung hinter das static char-array - also kommt die Meldung trotzdem.
-
Die Source mit Kommandozeilen-Parameter /wd4305 und/oder /wd4309 compilieren lassen. (Projekteinstellungen)
-
pumuckl schrieb:
Die Source mit Kommandozeilen-Parameter /wd4305 und/oder /wd4309 compilieren lassen. (Projekteinstellungen)
Ich hab die Parameter unter Projekteinstellungen->C/C++->Projekt Optionen eingetragen. Leider kennt er die Option nicht.
-
Configuration Properties-> C/C++ -> Advanced -> Disable Specific Warnings (afaik nur die Warnungsnummern eintragen)
ODER
Configuration Properties-> C/C++ -> Commandline
-
Diesen Menüpunkt gibts bei mir nicht.
-
doch die kommandozeile gibt es bei dir, und da muss das rein
-
Vielleicht liegts ja an meiner Uralt-Version (MS Visual C++ 6.0), aber ich bekomme diese Meldung:
Befehlszeilenwarnung D4002 : Unbekannte Option '/wd4309' wird ignoriert
-
bob.george schrieb:
Vielleicht liegts ja an meiner Uralt-Version (MS Visual C++ 6.0),
Ja, die ist aus dem letzten Jahrtausend. Ich fürchte, damit wird sich hier keiner auseinandersetzen wollen, es macht keinen Sinn mehr
