Mal wieder undefined reference to

OP #4010718
Hallo,
bin mit dem Einbinden von Headern und dem Linken mehrerer .c-sourcen 
noch nicht sehr bewandert; habe einige Zeit mit threads zu meinem Thema 
verbracht und komme leider dennoch nicht zu einer Lösung.

Beim Compilieren der angehängten Dateien gibt es kein Problem, aber beim 
Linken der .o-files kommt folgende Meldung (undefined reference):

Bin für jede Hilfe dankbar!
Roman


-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is 
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR 
PURPOSE.


Compiling C: Beispiel.c
avr-gcc -c -mmcu=atmega328p -I. -gdwarf-2 -DF_CPU=16000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wundef -Wa,-adhlns=obj/Beispiel.lst  -std=gnu99 
--combine -fwhole-program -Wundef -MD -MP -MF .dep/Beispiel.o.d 
Beispiel.c -o obj/Beispiel.o

Linking: main.elf
avr-gcc -mmcu=atmega328p -I. -gdwarf-2 -DF_CPU=16000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wundef -Wa,-adhlns=obj/main.o  -std=gnu99 --combine 
-fwhole-program -Wundef -MD -MP -MF .dep/main.elf.d obj/main.o 
obj/Beispiel.o --output main.elf -Wl,-Map=main.map,--cref    -lm
obj/main.o: In function `__vector_16':
C:\WinAVR-20100110\sample/main.c:62: undefined reference to 
`Beispiel_Zahluebergabe'
C:\WinAVR-20100110\sample/main.c:63: undefined reference to 
`Beispiel_Multiplexer'
obj/main.o: In function `main':
C:\WinAVR-20100110\sample/main.c:25: undefined reference to 
`Beispiel_Init'
make: *** [main.elf] Error 1
<<< Process finished. (Exit code 2)
================ READY ================
Angehängte Dateien:
Das Compilerflag "-fwhole-program" sorgt dafür, dass keine Symbole 
exportiert werden müssen und somit der komplette Inhalt von Beispiel.c 
wegoptimiert werden kann. Sollte man nur nehmen, wenn das Programm aus 
einem c-file besteht.


Außerdem solltest Du mal nach dem Begriff "Include-Lock" googeln. Du 
hast da zwar initiative ergriffen, aber das macht so nicht wirklich 
Sinn.


Grüße Oliver

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.