Forum: Compiler & IDEs Compiler optimizations disabled


von Newbie ..... (Gast)


Lesenswert?

Build started 8.7.2007 at 13:58:58
avr-gcc.exe  -mmcu=atmega8 -Wall -gdwarf-2 -DF_CPU=3686400UL -O0 
-fsigned-char -MD -MP -MT lcd-routines.o -MF dep/lcd-routines.o.d  -c 
../lcd-routines.c
In file included from ../lcd-routines.c:2:
c:/winavr-20070525/bin/../avr/include/util/delay.h:89:3: warning: 
#warning
1
"Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
../lcd-routines.c:124:1: warning: "DELAY50US" redefined
../lcd-routines.c:8:1: warning: this is the location of the previous 
definition
../lcd-routines.c:142: error: redefinition of 'lcd_data'
../lcd-routines.c:17: error: previous definition of 'lcd_data' was here
../lcd-routines.c:162: error: redefinition of 'lcd_command'
../lcd-routines.c:35: error: previous definition of 'lcd_command' was 
here
../lcd-routines.c:181: error: redefinition of 'lcd_enable'
../lcd-routines.c:52: error: previous definition of 'lcd_enable' was 
here
../lcd-routines.c: In function 'lcd_enable':
../lcd-routines.c:182: error: 'LCD_EN' undeclared (first use in this 
function)
../lcd-routines.c:182: error: (Each undeclared identifier is reported 
only once
../lcd-routines.c:182: error: for each function it appears in.)
../lcd-routines.c: At top level:
../lcd-routines.c:193: error: redefinition of 'lcd_init'
../lcd-routines.c:64: error: previous definition of 'lcd_init' was here
../lcd-routines.c:228: error: redefinition of 'lcd_clear'
../lcd-routines.c:98: error: previous definition of 'lcd_clear' was here
../lcd-routines.c:235: error: redefinition of 'lcd_home'
../lcd-routines.c:105: error: previous definition of 'lcd_home' was here
make: *** [lcd-routines.o] Error 1
Build failed with 15 errors and 3 warnings...

Wie kann ich diese Optimierung einschalten?

von Andreas K. (a-k)


Lesenswert?

Alles andere als -O0 hilft dir weiter. Üblich ist -Os.

von Newbie ..... (Gast)


Lesenswert?

OK, jetzt ist zwar "Compiler optimizations disabled; functions from 
<util/delay.h> won't work as designed" weg, aber der Rest ist 
gleichgeblieben.

Was mache ich für einen Fehler?

von Johannes M. (johnny-m)


Lesenswert?

Newbie ..... wrote:
> OK, jetzt ist zwar "Compiler optimizations disabled; functions from
> <util/delay.h> won't work as designed" weg, aber der Rest ist
> gleichgeblieben.
>
> Was mache ich für einen Fehler?
Du glaubst, Du machst nur einen Fehler? Dein erster Fehler ist schon 
mal, dass Du denkst, die Leute hier im Forum hätten hellseherische 
Fähigkeiten und könnten aus einer Latte Fehlermeldungen das Programm 
rekonstruieren. Der zweite Fehler ist, dass Du wahrscheinlich eine ganze 
Menge Syntaxfehler bei Funktionsaufrufen machst. Der dritte Fehler ist, 
dass Du einen undefiniertes Symbol mit der Bezeichnung LCD_EN 
verwendest....

von Newbie ..... (Gast)


Angehängte Dateien:

Lesenswert?

1. sorry hab jetzt erst gesehen das der Anhang nicht funktioniert hat
   wenn der Anhang wieder nicht geht kann ich den code eh nur posten.

2. Das kann schon sein, da ich einfach mal die lcd-routine vom 
LCD-tutorial
   kopiert hab zum testen meines lcd.

3. LCD_EN ist glaub ich die bezeichnung für den enable-pin also pin 3

tut mir leid ich wollt euch echt nicht ärgern mit meinem tread :(

von Johannes M. (johnny-m)


Lesenswert?

Bist Du sicher, dass der Compiler von der Datei lcd_routines.c weiß? Das 
sieht mir nämlich fast so aus, als ob Du die gar nicht im Makefile 
angegeben hast und der Compiler deshalb die Definitionen der ganzen 
Funktionen nicht kennt. Es reicht nicht, nur die Headerdatei 
einzubinden. Die .c-Datei muss im Makefile bei den Sources angegeben 
werden!

> tut mir leid ich wollt euch echt nicht ärgern mit meinem tread :(
Das hier heißt "thread". "tread" ist was anderes...

von Newbie ..... (Gast)


Lesenswert?

"Die .c-Datei muss im Makefile bei den Sources angegeben
werden!"

die Dateien lcd-routines.c und lcd-routines.h hab icm im avr studio bei 
source-files und header-files eingefügt.

Oder meinst du mit Makefile was anderes?

von Johannes M. (johnny-m)


Lesenswert?

Hatte grad nicht gesehen, dass die Fehlermeldungen alle aus der 
lcd_routines.c stammen... Was hast Du mit der lcd_routines.c gemacht? 
Das sieht fast so aus, als hättest Du die ganze Datei kopiert und unten 
noch mal drangehängt! Dann ist klar, dass der Compiler bei allen 
Funktionen meckert. Die sind ja auch alle zweimal definiert. Das geht so 
nicht.

von Newbie ..... (Gast)


Lesenswert?

BOOAAH!! Hab ich wohl aus Versehen 2x in den editor kopiert ;)

Es geht jetzt. Juhu :) , 1000dank

Beitrag #5277627 wurde von einem Moderator gelöscht.
Beitrag #5277628 wurde von einem Moderator gelöscht.
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.