undefined reference to main! obj zu hex datei??

Gast #366753
Lesenswert?

hab error bei make:
make
avr-gcc  systimer.o lcd.o sta013.o uart.o i2c.o spi.o ata_if.o
playmgr.o procyon.o   -Wl,-Map=procyon.map,--cref  -mmcu=atmega128 -o
procyon.elf
C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\lib\avr5\crtm128. 
o(.init9+0x0):
undefined reference to `main'
avr-objcopy -O avrobj procyon.elf procyon.obj
avr-objcopy: procyon.elf: No such file or directory
avr-objcopy -O ihex procyon.elf procyon.rom
avr-objcopy: procyon.elf: No such file or directory
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" -O
ihex procyon.elf procyon.eep
avr-objcopy: procyon.elf: No such file or directory
>Exit code: 0

gibt es kein weg einfach die object dateien in hex direkt umzuwandeln.

alle hilfe benötigt.
danke.
Angehängte Dateien:
#366759
Lesenswert?

Ich hab gestern versucht, dass ganze mittels
AVR-Studio zu entwirren.
Neues Projekt erzeugt, Source Files hinzugefügt.
Prozessor ausgewählt und compile.
Nach dem 5. File bei dem ich

   #include <io.h>

gegen

  #include <avr/io.h>

getauscht habe und einige veraltete Konstrukte, die
der Compiler nicht mehr kennt, gegen Neuere ausgetauscht
habe, hab ich aufegegeben. War mir zu viel Stress.
Moderator Persönliche Seite #366763
Lesenswert?

S. o.: es ist zu viel Aufwand für unserereiner, das alles zu
entwirren.  Es sind nicht die Makefiles, ich habe mir 1-fix-3
mit Mfile ein neues gezimmert, Karl Heinz hat sich ein AVR-Studio-
Projekt gebaut, aber der Code selbst ist so neben den Konventionen,
dass man das nicht compiliert bekommt.  Wenn Pascal Stang nicht
#include <avr/io.h> schreiben kann, sondern darauf besteht,
#include <io.h> zu schreiben, wenn er nicht nach X Jahren endlich
mal geschnallt hat, dass inb() und outb() der Vergangenheit
angehören -- dann sorry, dann soll er sein Zeug bitte selbst
supporten.
#366764
Lesenswert?

Sehe ich auch so.
Wobei ich mir zu 99% sicher bin:
Wenn man diese alten Konstrukte (da war noch irgendwas
im uart.c, anscheined wuren einige Makros nicht gefunden,
ich bin dem dann aber nicht mehr näher nachgegeangen; ach
ja: eine Datei io128v.h oder so ähnlich konnte ich auch nicht
finden) gegen Zeitgemässes ersetzt, dann compiliert und linkt das
ohne Probleme.
Das Makefile an sich ist ja bei AVR-Studio überhaupt kein
Problem. Einfach die Source Files in ein Projekt einfügen
und das Studio erzeugt daraus das Makefile. Noch ein paar
(selbstverständlichen) Einstellungen, wie Prozessor und
Prozessorgeschwindigkeit in den Projekt-Options einstellen
und dann funzt das auch.

Nur: Das Ganze sollte halt mit einem halbwegs zeitgemässen
Compiler ohne 25-tausen zusätzlichen Header-Files fehlerfrei
compilieren. 1 oder 2 Fehler behebe ich stillschweigend aber
wenn der Compiler da eine Litanei runterleiert und ich zuerst
mal die System-Includes durchforsten muss um die Funktion zu
finden, dann höre ich ganz schnell wieder auf.

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