Hallo Leute, Bin in Sachen GCC noch ein ziemlicher Anfänger und brauche bitte eure Hilfe. Habe in meinem Programm vor mit Strings zu arbeiten und logischerweise benötige ich dafür String.h. Doch wenn ich diese Include-Datei einbinde erhalte ich folgenden Fehler: c:/programme/atmel/avr tools/lib/gcc/../../avr/include/String.h:130: error: expected ';', ',' or ')' before '!' token habe probiert diese datei über eine externe header-datei einzufügen oder direkt in der c-datei -> alles ohne erfolg! fehler tritt auch noch auf, wenn ich alle String - Funktionen im Programm lösche! Datei selbst ist aber nicht fehlerhaft, das habe ich überprüft! Habt ihr eine Idee was ich gegen diesen fehler machen kann? Danke für eure Hilfe!!!! lg tommy
Gast
#1435425
Poste bitte Deinen Quelltext. Die string.h lässt sich normalerweise problemlos mit dem Befehl "#include <string.h>" einbinden.
Die h-Files immer als erstes einbinden. Dann führen eigene Syntaxfehler nicht zu Fehlermeldungen in den h-Files. Peter
Gast
#1435673
>Dann führen eigene Syntaxfehler nicht zu Fehlermeldungen in den h-Files.
Schon, aber erst in Zeile 130?
Der Quellcode und auch die string.h würden mich interessieren.
oder String.h statt string.h?
Gast
#1436125
Zeile 130 in string.h lautet:
1 | |
Weit und breit kein "!". In der ganzen Datei gibt es sowieso nur ein "!", und das steckt in einem Kommentar. Irgendwie ist deine String.h kaputt :-) Installier die mal neu (oder gleich das ganze WinAVR-Paket). Oliver
Gast
#1436127
... ja, deshalb wäre es auch mal schön, wenn man den ganzen Quelltext sehen dürfte, in dem die string.h eingebunden ist, denn dort ist mit Sicherheit der Fehler zu finden!
Gast
#1436154
Ne, der Fehler steckt schon in Zeile 130 der string.h. Da ist die Fehlermeldung eindeutig. Und ausser mit sowas wie :
1 | |
o.ä. vor dem include dürfte man die kaum hinbekommen. Alle anderen Ausdrücke, wie size_t oder char, kommen schon vorher in der Datei vor. >Datei selbst ist aber nicht fehlerhaft, das habe ich >überprüft! Ich vermute trotzdem, daß da mal jemand beim anschauen der string.h im Editor aus versehen Zeichen eingefügt hat. Aber den ganze Code hier mal anzuhängen, schadet nie. Oliver
Meine Glaskugel sagt, dass jemand verbotenerweise einen Makro definiert hat, der dem Funktionsnamen gleicht, der in <string.h> auf Zeile 130 deklariert werden soll. Dieser Makro enthält ein Ausrufezeichen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.