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

Gast #1605516
Lesenswert?

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
Lesenswert?

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
Lesenswert?

>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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

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