Forum: Mikrocontroller und Digitale Elektronik rc5 IR-Empfang C Code => undefined reference to `main'


von Olli S. (Gast)


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ß

von Volker S. (volkerschulz)


Lesenswert?

Dann haeng doch Deinen Code mal an...


Volker

von Olli S. (Gast)


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

von Oliver (Gast)


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

von Michel (Gast)


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

von Chris (Gast)


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ß

von Michel (Gast)


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

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.