Forum: Compiler & IDEs Error statt Warning - wie?


von Smarty (Gast)


Lesenswert?

Hallo!
Kann mir jemand sagen wie ich dem Compiler (AVRStudio + WinAVR) 
klarmache, dass er aus jeder Warning einen Error macht? Klingt vieleicht 
unsinnig, aber ich brauch's leider ;-)

Danke!

von OliverSo (Gast)


Lesenswert?

Compileroption -Werror
Im Studio in den Projektoptionen eintragen.

Oliver

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der Compiler ist in diesem Falle gcc, der kennt die Kommandozeilenoption

  -Werror

von Smarty (Gast)


Lesenswert?

Ah, mit großem "W". Daran lags. Danke!

Aber irgendwie klappt das ganze nicht. Hier mal ein Build-Output:

cc1.exe: warnings being treated as errors
../Aufgabe.c: In function 'main':
../Aufgabe.c:25: warning: unused variable 'a'
org-make: *** [Aufgabe3.o] Error 1
Build succeeded with 1 Warnings...

Die Warning wird irgendwie NICHT als Error behandelt!?

von OliverSo (Gast)


Lesenswert?

>cc1.exe: warnings being treated as errors
>main.c: In function 'main':
>main.c:9: warning: unused variable 'a'
>make.exe: *** [main.elf] Error 1

So sieht es bei mir ohne Studio aus. Schau mal nach, ob auch tatsächlich 
ein hex erzeugt wurde, vielleicht erkennt das Studio die 
make-Fehlermeldungen nicht richtig. Die des Linkers versteht es ja auch 
nicht, und meldet trotz Linkerfehlern fälschlicherweise Erfolg.

Oliver

von sous (Gast)


Lesenswert?

Ich habe -Werror in AVR Studio gerade ein mal ausprobiert mit folgendem 
Ergebnis:

Build started 10.3.2008 at 10:28:57
avr-gcc.exe  -mmcu=atmega128 -Wall -gdwarf-2  -O1 -fsigned-char -Werror 
-MD -MP -MT bitVersuche1.o -MF dep/bitVersuche1.o.d  -c 
../bitVersuche1.c
cc1.exe: warnings being treated as errors
../bitVersuche1.c: In function 'main':
../bitVersuche1.c:29: warning: unused variable 'a'
../bitVersuche1.c:29: warning: unused variable 'b'
make: *** [bitVersuche1.o] Error 1
Build succeeded with 2 Warnings...

Ich bekomme zwar 'nur' Warnungen für unbenutzte Variablen angezeigt, es 
wird danach jedoch kein Objekt-File erstellt und knallt daher dann beim 
Linken.

von Rolf Magnus (Gast)


Lesenswert?

Das hier:

> make: *** [bitVersuche1.o] Error 1

Sagt aus, daß make an dieser Stelle wegen eines Fehlers abgebrochen hat. 
Das heißt, daß der Compiler die Warnung korrekt als Fehler behandelt und 
daß make das auch korrekt erkannt hat.

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
Noch kein Account? Hier anmelden.