Linker Error

Gast #844475
Hallo
ich bekomme mit dem AVR-GCC beim Linken Error-Meldungen die ich nicht 
zuordnen kann. Ich benutz den STK500 mit dem AVR Studio und den ATmega48 
Controller.

Anbei die Fehlermeldung, Fehler mit ERROR gekennzeichnet.

Build started 16.4.2008 at 16:34:15
avr-gcc.exe  -mmcu=atmega48 -Wall -gdwarf-2  -O2 -funsigned-char -MD -MP 
-MT main.o -MF dep/main.o.d  -c  ../main.c
avr-gcc.exe  -mmcu=atmega48 -Wall -gdwarf-2  -O2 -funsigned-char -MD -MP 
-MT uart0.o -MF dep/uart0.o.d  -c  ../uart0.c
ERROR avr-gcc.exe -mmcu=atmega48  main.o uart0.o     -o Fill_Stop.elf
ERROR avr-objcopy -O ihex -R .eeprom  Fill_Stop.elf Fill_Stop.hex
ERROR avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" 
--change-section-lma .eeprom=0 --no-change-warnings -O ihex 
Fill_Stop.elf Fill_Stop.eep || exit 0

AVR Memory Usage
----------------
Device: atmega48

Program:     594 bytes (14.5% Full)
(.text + .data + .bootloader)

Data:         14 bytes (2.7% Full)
(.data + .bss + .noinit)


Build failed with 3 errors and 0 warnings...


Wenn ich nach dem Übersetzen mit den Fehlermeldungen das File dann 
programmiere tuts. Vielleicht weiss ja jemand Rat!

gruß tom
Gast
Und das ist alles? Diese Zeilen sagen nur aus, daß Fehler aufgetreten 
sind. Eine Fehlermeldung würde auch sagen, welche Fehler das waren. 
Wenn ich das richtig sehe, gibt die letzte Linker-Zeile eigentlich immer 
Erfolg zurück, und daher dürfte das eigentlich niemals als Fehler 
markiert werden. Meine erste Vermutung wäre, daß an deiner Installation 
was kaputt ist.
Gast
Ich kenne das AVR-Studio nicht, aber könnte es vielleicht daran
liegen, dass der Name des Executables das Wort "Stop" enthält?
GNU-Make verwendet dieses bei bestimmen Fehlern als Abschiedsgruß,
vielleicht denkt deswegen das AVR-Studio, Make sei ausgestiegen.

Ändere einfach mal den Namen und schau, was passiert.
Gast
Gibt es irgendeinen triftigen Grund, da umständlich, fehlerträchtig und 
Lokalisierungs-inkompatibel an der Ausgabe rumzuparsen, statt einfach 
den Exit-Code zu verwenden?
Moderator Persönliche Seite
Rolf Magnus wrote:

> Gibt es irgendeinen triftigen Grund, da umständlich, fehlerträchtig und
> Lokalisierungs-inkompatibel an der Ausgabe rumzuparsen, statt einfach
> den Exit-Code zu verwenden?

Windows-Programmierer zu sein?

Keine Ahnung, die berüchtigte Meldung ``Object file not found in
expected location'' hängt ja auch damit zusammen, und ich habe schon
vor einiger Zeit einen Bugreport dafür aufgemacht.

Irgendwie muss man die Fehlermeldungen natürlich schon parsen in einer
IDE (man will ja im Editor zur fehlerhaften Zeile springen können),
aber das schaffen andere IDEs um den GCC herum ja auch.  Für die
generelle Erfolgsbewertung ist es aber wirklich unverständlich, dass
der Exitcode nicht benutzt wird.

Antwort schreiben

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