On Tue, Dec 02, 2003 at 04:31:11PM +0100, Axel Lindlau wrote:
Hallo, während bei mir unter der 8.1 alles läuft, habe ich mit der 9er Version Schwirigkeiten dieser Art: linux:/home/axel/server-0.25-daRav # make set -e; gcc -M i4lmond2.c \ | sed 's/\(i4lmond2\)\.o[ :]*/\1.o i4lmond2.d : /g' > i4lmond2.d; \ [ -s i4lmond2.d ] || rm -f i4lmond2.d i4lmond2.c:483:54: missing terminating " character i4lmond2.c:484:15: missing terminating " character gcc -Wall -c -o i4lmond2.o i4lmond2.c i4lmond2.c:483:54: missing terminating " character i4lmond2.c: In function `check_version': i4lmond2.c:484: error: parse error before "i4lmond" i4lmond2.c:484:15: missing terminating " character make: *** [i4lmond2.o] Fehler 1 linux:/home/axel/server-0.25-daRav #
Kann mir hier bitte jemand weiterhelfen?
Das Programm entspricht nicht dem aktuellen GCC Standard. Der neue GCC wurde in manchen Punkten an den C Standard angepasst und erkennt jetzt einige Syntaxfehler mehr. Früher war es erlaubt mehrzeilige Strings zu schreiben, was allerdings den Nachteil hatte, das man fehlende closing " nicht finden konnte. Spaeter wurde das als "multiline string literals has been deprecated" Warnung angemeckert, eine Aufforderung diese Teile zu aendern, nur scheren sich viele Programmierer leider nicht um Warnungen. Du muss den Quelltext anpassen: aus x = "abcd ... xyz"; z.B: x = "abcd\n\ ...\n\ xyz"; machen, damit der Inhalt gleich bleibt. -- Karsten Keil SuSE Labs ISDN development