www.mikrocontroller.net

Forum: Compiler & IDEs AVR-Eclipse: Warning Level


Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, der gcc markiert sie schon richtig als "warning" auf der Konsole. 
Bei Wall oder Werror markiert Eclipse es dann aber als Fehler.

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Chris R. (mrgreen)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:
../drvuart.c:19: warning: 'xRxBuff' defined but not used

Bei dir kommt dafür:
 ................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.

Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der stammt aus den offiziellen Ubuntu Quellen (gcc-avr - 1:4.3.3.1 
(i386))
Keine Ahnung, warum er zur Hälfte deutsch ist.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.