rc5 IR-Empfang C Code => undefined reference to `main'

Gast #1605516
hey Leute,
hatte heute vor mir mit einem SFH 5110-36 Emfänger und einem Atmega8 
einen rc5 Empfänger zu basteln.
Glücklicherweise gab es schon einen Code hier im Forum von Peter 
Dannegger.
Beitrag "Fernbedien RC5 Empfänger"

Der Code ist soweit genau das was ich suche, allerdings bekomme ich ihn 
noch nicht zum laufen.
Ich verwende AVR Studio VER 4.18 (neueste Version eben), aber es 
erscheint immer folgende Fehlermeldung, die mich bereits wahnsinnig 
macht:

(...)
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr4/crt 
m8.o:(.init9+0x0):  undefined reference to `main'
make: *** [IR_test.elf] Error 1
Build failed with 1 errors and 0 warnings...

jemand ne Idee woran das liegen kann??
Habe schon diverse andere Beiträge durchforstet, konnte die Lösung aber 
noch nicht finden und hoffe auf eure Hilfe!!

Danke & Gruß
Gast #1605530
Hallo Volker,
der Code ist einfach aus dem genannten Beitrag von Peter Dannegger 
übernommen. Habe alle 3 Dateien (rc5.c, main.c, und main.h) (zunächst) 
unverändert in Avr Studio geöffnet, aber beim Umwandeln in die .hex 
Datei tritt der oben genannte Fehler immer wieder auf.

Ich kann mir nicht erklären woran das liegen könnte.
Die Funktion main() ist ja eindeutig im code enthalten.

Oder laufe ich da in eine komplett falsche Richtung!?
Gast #1605637
>habe alle 3 Dateien (rc5.c, main.c, und main.h) (zunächst)
>unverändert in Avr Studio geöffnet,

Öffnen reicht nicht. Du musst alle .c-Dateien im Projekt (links oben) 
dem Source-Ordner hinzufügen.

Oliver
Gast #3281047
Hallo,
bei mir kommt eine ähnliche Fehlermeldung (bei einem anderem Programm)

Fehlermeldung:
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr4/crt 
m8.o:(.init9+0x0):  undefined reference to `main'
make: *** [LCD.elf] Error 1


Ich versuche umzusetzten was unter folgendem Link erklärt ist:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Ich habe dazu das lcd-routines.c erzeugt (code kopiert), ebenfalls das 
lcd-routines.h file erzeugt (code ebenfalls kopiert) und abgespeichert.
Wobei ich einfach ein neues File geöffnet habe und die dann unter den 
Namen abgespeichert habe wie sie angegeben sind, ist das soweit richtig?

Danach habe ich das lcd-routines.c in den Ordner Sourcefiles eingebunden 
und das Beispiel 1 unter dem Link in ein weiteres File kopiert.
Unter External Dependencies taucht dann auch das lcd-routines.h file 
auf.

Eigentlich kann ich da doch nix mehr falsch machen, wenn ich eh alles 
nur kopiere, sollte man meinen ;)

Ich arbeite übrigens zum ersten mal mit Libs die ich erst einbinden 
muss.

Freu mich auf Eure Hilfe, Michel
Gast #3281152
Es muss ein Projekt angelegt werden, darin muss mindestens der 
verwendete Controller angegeben werden!
Dann müssen die Source/Header-Files dem Projekt hinzugefügt werden.
Die Fehlermeldung ist vom Linker..

Gruß
Gast #3282164
Hi Chris,

vielen Dank für Deine Antwort, Projekt war eigentlich klar angelegt.
Ich hab auf Deine Antwort hin nochmal ein neues Projekt angelegt und 
jetzt gehts :)
War wohl beim letzten Mal was falsch gelaufen.

Michel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.