Hallo, ich habe gerade mal angefangen, vom AVRStudio auf Eclipse umzustellen. Irgendwie habe ich in den Projekteigenschaften für den AVR-Compiler nur genau 3 Warning-Level: -w, -Wall und -Werror. Das ist nicht so schön; wenn ich -Wall auswähle, behandelt er trotzdem alle Warnungen als Fehler (-Werror ist NICHT ausgewählt). Kann ich den Warninglevel denn nicht feiner einstellen? Gruß Mr.Green
Chris R. schrieb: > Das ist nicht so schön; wenn ich -Wall auswähle, behandelt er trotzdem > alle Warnungen als Fehler Nicht dass ich wüsste.
Simon K. schrieb: > Chris R. schrieb: >> Das ist nicht so schön; wenn ich -Wall auswähle, behandelt er trotzdem >> alle Warnungen als Fehler > > Nicht dass ich wüsste. Ich vermute mal, er meint damit eigentlich Eclipse, nicht den Compiler. Nach dem Compilerlauf werden wohl alle Stellen, die der Compiler angewarnt hat, von Eclipse als fehlerhaft markiert.
Ja, der gcc markiert sie schon richtig als "warning" auf der Konsole. Bei Wall oder Werror markiert Eclipse es dann aber als Fehler.
Poste mal die Konsolenausgabe vom GCC und dann den dazugehörigen Bildschirmausschnitt vom Eclipse-Problems-View. Vorher den Problems-View löschen (rechter Mausklick). Du kannst auch in den Properties alle Warnungen ausschalten und unter "Miscellaneous" noch eigene Optionen mit angeben. Welche Error-Parser hast du angegeben?
Konsolenausgabe: *** Build of configuration Release for project 8x8x8 Cube **** make all Building file: ../Cube.c Invoking: AVR Compiler avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=16000000UL -MMD -MP -MF"Cube.d" -MT"Cube.d" -c -o"Cube.o" "../Cube.c" ../Cube.c: In Funktion »data_out«: ../Cube.c:107: Warnung: Variable »temp2« wird nicht verwendet ../Cube.c:106: Warnung: Variable »temp« wird nicht verwendet ../Cube.c:262:1: Warnung: »/*« innerhalb des Kommentars ../Cube.c:266:2: Warnung: »/*« innerhalb des Kommentars ../Cube.c:297:2: Warnung: »/*« innerhalb des Kommentars ../Cube.c: In Funktion »__vector_11«: ../Cube.c:405: Warnung: Übergabe des Arguments 1 von »data_out« erzeugt Zeiger von Ganzzahl ohne Typkonvertierung Finished building: ../Cube.c [...] Der Problem-View ist im Anhang. Error-Parser sind CDT Gnu Make CDT Gnu C/C++ CDT Gnu Assembler CDT Gnu Linker AUßerdem war Wall ausgewählt (aber eben nicht Werror).
Ahh, Problem gefunden :) Der Output von gcc war deutsch, und der Parser kann nur englisch ;) Durch Setzen der LANG-Umgebungsvariable werden Warnings jetzt auch als solche markiert!
Wer hat dir denn einen AVR-GCC mit deutschen Texten untergejubelt und das nur halb, am Ende sagt er dann: Finished building: ../Cube.c Also meine Vermutung ist, dass die deutschen Warnungen des GCC in den Errorparsern nicht richtig verarbeitet werden. Wußte garnicht, dass es den AVR-GCC mit deutschen Texten gibt. Die Parser werden sicher nur die englischen Texte richtig verarbeiten. Sieht z.B. so aus:
1 | ../drvuart.c:19: warning: 'xRxBuff' defined but not used |
Bei dir kommt dafür:
1 | ................Warnung: Variable »xRxBuff« wird nicht verwendet |
Versuche es mit der englischen Version. Dann sollte es klappen. Oder du mußt dir für Eclipse einen eigenen Errorparser schreiben. Geht auch :-) Edit: Jetzt warst du schneller.
Der stammt aus den offiziellen Ubuntu Quellen (gcc-avr - 1:4.3.3.1 (i386)) Keine Ahnung, warum er zur Hälfte deutsch ist.
Der Teil der auf Englisch ist gehört zum Build Script (Was Thomas Holland ins Plugin integriert hat und was unter anderem im Anschluss avr-size und avrdude aufruft).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.