www.mikrocontroller.net

Forum: Compiler & IDEs Object-file not found...GCC/AVRstudio


Autor: Marian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem mit dem AVRStudio. Ich wollte mal den Source-Code
aus diesem Thread:
http://www.mikrocontroller.net/forum/read-4-90147.html#new

ausprobieren. Haben ihn runtergeladen, entpackt und dann versucht mit
AVRStudio das ganze zum laufen zu bekommen. Habe also ein neues Projekt
gemacht und die ganzen Dateien von ihm(Uli, Version 2.5) in den
Projektordner verschoben. Dann habe ich im Studio alle .c und .h Files
zum Projekt hinuzugefügt und das externe Makefile zum compilieren
ausgewählt. Hat auch funktioniert, nur beim Build meckert das Studio
rum.
Diese Fehlermeldung kommt:
gcc plug-in: Error: Object file not found on expected location
C:\Dokumente und Einstellungen\mlueder\Eigene Dateien\mmc\mmc.elf

Wie kann ich dem Studio beibringen, das er die main.elf erzeugen soll
und nicht immer die mmc.elf?

Ich habe danach probiert mit meinem eigenen Makefile das Projekt zum
laufen zu bekommen aber da kommt dann diese Fehlermeldung:
main.o(.text+0x4e): In function `main':
C:\Dokumente und Einstellungen\mlueder\Eigene Dateien\SD/main.c:71:
undefined reference to `mmc_init'
main.o(.text+0x5e):C:\Dokumente und Einstellungen\mlueder\Eigene
Dateien\SD/main.c:75: undefined reference to
`fat_cluster_data_store'
main.o(.text+0x66):C:\Dokumente und Einstellungen\mlueder\Eigene
Dateien\SD/main.c:81: undefined reference to `mmc_read_csd'
main.o(.text+0xea):C:\Dokumente und Einstellungen\mlueder\Eigene
Dateien\SD/main.c:96: undefined reference to `fat_read_dir_ent'
main.o(.text+0x182):C:\Dokumente und Einstellungen\mlueder\Eigene
Dateien\SD/main.c:110: undefined reference to `fat_search_file'
main.o(.text+0x1b0):C:\Dokumente und Einstellungen\mlueder\Eigene
Dateien\SD/main.c:116: undefined reference to `fat_read_file'

Kann mir eine von euch helfen?

Gruß,

Marian

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
obs hilft weiss ich nicht, aber:
   - benutze einen pfad ohne leerzeichen
   - mmc liegt in ....\Eigene Dateien\mmc, aber main liegt in
...\Eigene
Dateien\SD/main.c
   zusätzlich ist da auch noch ein / (Schrägstrich, nicht Backslash)

da würde ich mal anfangen zu suchen
Werner

Autor: Karsten Brandt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"undefined reference to" bedeutet nichts anderes als das Du ein Symbol
(sei es eine Variable oder eine Funktion) in Deiner main.c benutzt, die
der Linker nicht in Deinen Sourcen finden kann.
Mit anderen Worten wahrscheinlich ist die Angabe der Quellen in Deinem
Makefile nicht komplett.

Autor: Karsten Brandt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am besten Du stellst mal Dein Makefile rein!

Autor: Marian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Werner: Das mit mmc und SD ist klar. Habe sicherheitshalber 2 Projekte
erstellt, einmal mit dem originalen Makefile und einmal mit meinem.
Die erste Fehlermeldung bezog sich nur auf das erste Problem.
Das mit dem Pfad ohne Leerzeichen kann ich leider nicht testen. Hört
sich jetzt dumm an aber : Ich habe es noch nicht geschafft, den Pfad
des Projektes im AVRstudio zu ändern. Kann mir einer sagen wie das da
geht?

Das mit dem \ könnte natürlich bei dem 2. Problem die Fehlermeldung
erklären. Muss ich morgen mal nachschauen warum der da ist.

@Karsten Brand: Werde ich auch mal morgen überprüfen!

Danke erstmal :)

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du legst einfach einen neuen Ordner C:\AVR an und kopierst die
Verzeichnisse rüber. Im Avr Studio öffnest du dann einfach das Projekt
in dem neuen Verzeichnis.

Werner

Autor: Marian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok habe es mit eurer Hilfe hinbekommen. Ich dachte das AVRstudio
schreibt ins makefile automatisch alle Sourcefiles mit rein,naja jetzt
weiß ich es besser. Zuletzt musste ich nur noch den Outputfilenamen
ändern und dann hat es geklappt.

Danke :)

Autor: 5sho (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte mal das selbe problem. ursache war eine globale variable die 
in einem header file nicht mit "static" deklariert war

Beitrag #3493617 wurde vom Autor gelöscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.