www.mikrocontroller.net

Forum: Compiler & IDEs Linker funktioniert nicht richtig?


Autor: nic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo miteinander,

ich hab ein kleines Problem bei meinem Projekt. Ich versuche gerade 
µC-OS ii auf den MPC5567 zu portieren. Ich habe jetzt beim kompilieren 
ein kleines Problem. Wenn ich kompiliere bekomm ich beim Linken 
folgenden Fehler:
main.c(18,1): undefined reference to `startAPP'

Ich habe folgende Konstellation:

main.c:
#include "includes.h"
#include "app.h"

int main(void) {
...

startAPP();

...
}


app.c:
#include "includes.h"
#include "app.h"

void startAPP(void) {
...
}

app.h:
#ifndef __APP_H__
#define __APP_H__

void startAPP(void);
#endif

Eigentlich müsste main.c doch die Funktion startAPP kennen. Aber 
irgendwie funktioniert das nicht wirklich.

Hier noch die Optionen vom

Compiler:
$(EDNAME) -gdwarf-2 -c -mno-sdata -Wall

Assembler:
$(EDNAME) --gdwarf2 -mregnames  -me500x2 -o $(NOEXT).o

Linker:
-nostartfiles -Xlinker --output=$(OUTPUTFILE) -Xlinker -Map=sample.map -Xlinker --script=$(INDPATH) -Xlinker -n -lgcc -lg  -lc -lm

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und wie sieht der KOMPLETTE Aufruf des Linkers aus?
(Wahrscheinlich fehlt dort app.o)

Autor: nic (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das kann ich einstellen...

Müsste er die compilierten Object-Files nicht automatisch dazu linken?

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit "der KOMPLETTE Aufruf" ist der KOMPLETTE Aufruf gemeint, also die 
Kommandozeile, mit der der Linker dann aufgerufen wird.
Vielleicht hilft ein Klick auf den Knopf "Link Order..." und dann dafür 
sorgen, daß main.c vor app.c kommt.

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.