mikrocontroller.net

Forum: Compiler & IDEs [AVR-GCC] makefile SRC und #include


Autor: André M. (pc-fan)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es geht um den AVR-GCC (Version 1:4.3.5-1) unter Linux (Kubuntu 10.10). 
Ich möchte in meiner main.c uart_init( ... ) aufrufen, bekomme 
allerdings einen Fehler:
undefined reference to 'uart_init'

Wenn ich aus dem makefile aus der SRC Zeile die uart.c lösche und dafür 
ganz unten in der main.c #include "uart.c" schreibe, geht es, aber 
eigentlich ist die Definition im makefile doch normal/besser.

Die UART Library ist die von Peter Fleury.

Was mache ich falsch?

Danke und Gruß
pc-fan

Autor: André M. (pc-fan)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

ich habe es nun mit einem anderen makefile aus dem Internet probiert, 
mit dem geht es nun!

Warum es mit dem andren nicht ging ist mir schleierhaft.

Ich hab nochmal das funktionierende makefile angehängt.

Gruß
pc-fan

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
André M. schrieb:
> Was mache ich falsch?

Wenn dein Programm aus separat übersetzten C-Dateien besteht, kannst du 
"--combine -fwhole-program" nicht verwenden.

Autor: André M. (pc-fan)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

danke für deinen Hinweis, leider kommt nach dem ich --combine 
-fwhole-program auskommentiert habe trotzdem noch der selbe Fehler.

Ich hänge mal das geänderte makefile an, vielleicht findet ja noch 
jemand meinen Fehler.

Gruß
pc-fan

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
André M. schrieb:
> vielleicht findet ja noch
> jemand meinen Fehler.

Warum sollte das jemand tun?

Es gibt tools wie diff, mir denen kannst du zwei Dateien vergleichen. 
Such die Unterschiede, dann weißt du mehr.

Und dann gibt es in der avr-gcc toolschain das Programm MFile, das 
erzeugt dir mit ein paar Mausclicks einwandfrei funktionierende 
makefiles.

Oliver

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
André M. schrieb:
> danke für deinen Hinweis, leider kommt nach dem ich --combine
> -fwhole-program auskommentiert habe trotzdem noch der selbe Fehler.

Nö, bei mir nicht.
Sicher, dass du das veränderte Makefile benutzt hast?

Autor: André M. (pc-fan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Ernst schrieb:
> Sicher, dass du das veränderte Makefile benutzt hast?

Oh oh, irgendwie war da wohl was durcheinander gekommen, jetzt gehts!

Vielen Dank und Gruß
pc-fan

BTW: Was macht denn das --combine -fwhole-program?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
André M. schrieb:
> BTW: Was macht denn das --combine -fwhole-program?

http://gcc.gnu.org/onlinedocs/

Autor: André M. (pc-fan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Stefan,

danke nochmal, jetzt geht alles!

Gruß
pc-fan

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.