undefined reference to

OP #1668386
Lesenswert?

Guten Abend,

ich hab hier ein kleines großes Problem. Ich hab verschiedene 
Codeschnipsel aus dem Forum hier zusammengefügt und bisschen außenherum 
was geschrieben um eine LCD Uhr zu erhalten. Das LCD ist ein DOGM163 und 
die RTC ein DS1302, dass funktioniert schon wunderbar inkl einstellen, 
hat wunderbar compiled. Jetzt will ich noch eine Temperaturanzeige mit 
drin haben mit einem DS1820, da bin ich hier im Forum auch fündig 
geworden und habe das eingebaut. Nun habe ich das Problem, dass das 
AVR-Studio mir das ganze nicht compiled und ein undefined reference 
entgegenschmeißt(bzw 3) ich versteh aber nicht warum und wieso, ich hab 
den Temperaturteil genauso wie die anderen Teile eingefügt aber es 
funktioniert nicht.

Vllt. findet ihr ja meinen Fehler, Sourcecode hängt im Anhang.
Angehängte Dateien:
OP #1668415
Lesenswert?

Ja stimmt das mit der Fehlermeldung kam mir auch gerade... sry

Also die Prototypen stehen in den Headerfiles und die hat der Compiler 
zur Verfügung. Die einzelnen *.o Dateien kann ich alle ohne Fehler 
erstellen aber der Link zur *.hex schlägt dann fehl.

Hier die Fehlermeldung:
1
Build started 9.4.2010 at 22:18:38
2
avr-gcc  -mmcu=attiny84 -Wall -gdwarf-2 -std=gnu99   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT main.o -MF dep/main.o.d  -c  ../main.c
3
avr-gcc  -mmcu=attiny84 -Wall -gdwarf-2 -std=gnu99   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lcd.o -MF dep/lcd.o.d  -c  ../lcd.c
4
avr-gcc  -mmcu=attiny84 -Wall -gdwarf-2 -std=gnu99   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT ds1202.o -MF dep/ds1202.o.d  -c  ../ds1202.c
5
avr-gcc  -mmcu=attiny84 -Wall -gdwarf-2 -std=gnu99   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT 1WIRE.o -MF dep/1WIRE.o.d  -c  ../1WIRE.C
6
cc1plus.exe: warning: command line option "-std=gnu99" is valid for C/ObjC but not for C++
7
avr-gcc  -mmcu=attiny84 -Wall -gdwarf-2 -std=gnu99   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT DELAY.o -MF dep/DELAY.o.d  -c  ../DELAY.C
8
cc1plus.exe: warning: command line option "-std=gnu99" is valid for C/ObjC but not for C++
9
avr-gcc  -mmcu=attiny84 -Wall -gdwarf-2 -std=gnu99   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT TEMPMEAS.o -MF dep/TEMPMEAS.o.d  -c  ../TEMPMEAS.C
10
cc1plus.exe: warning: command line option "-std=gnu99" is valid for C/ObjC but not for C++
11
avr-gcc  -mmcu=attiny84 -Wall -gdwarf-2 -std=gnu99   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT TIMEBASE.o -MF dep/TIMEBASE.o.d  -c  ../TIMEBASE.C
12
cc1plus.exe: warning: command line option "-std=gnu99" is valid for C/ObjC but not for C++
13
avr-gcc -mmcu=attiny84 -Wl,-Map=LCD_Clock.map main.o lcd.o ds1202.o 1WIRE.o DELAY.o TEMPMEAS.o TIMEBASE.o     -o LCD_Clock.elf
14
main.o: In function `main':
15
D:\Daten\AVR-Projects\LCD_Clock\default/../main.c:28: undefined reference to `init_timer'
16
D:\Daten\AVR-Projects\LCD_Clock\default/../main.c:89: undefined reference to `start_meas'
17
D:\Daten\AVR-Projects\LCD_Clock\default/../main.c:94: undefined reference to `read_meas'
18
make: *** [LCD_Clock.elf] Error 1
19
Build failed with 3 errors and 4 warnings...

P.S.Controller ist ein ATTiny 84
#1668446
Lesenswert?

Ralf G. schrieb:
> Vielen Danke für die schnelle Hilfe, ich hab bestimmt schon 2Stunden
> gesucht, aber das die Erweiterung *.H daran schuld ist, da bin ich nicht
> draufgekommen. Jetzt funktionierts :)


Die Erweiterung *.H ist es nicht :-)

Diese Warnung
cc1plus.exe: warning: command line option "-std=gnu99" is valid for 
C/ObjC but not for C++

sagt dir gar nichts?

1WIRE.C wird im C++ Modus kompiliert und nicht im C Modus. Ditto für 
alle anderen *.C

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren