www.mikrocontroller.net

Forum: Compiler & IDEs Libraries im Makefile


Autor: Phozz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey, folgendes Problem, wenn ich im Makefile noch auf ne zusätzliche
Library verweise mit LIB = ..\lib\gggt.c dann wird diese nicht mit
eingebunden wie es sein sollte. wo ist das problem ? die gggt.c liegt
da wo sie sein sollte, alles wunderbar, nur auftauchen tut sie nicht
beim compilen.

Gruß, Phozz

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seit wann ist .c die Dateinamenserweiterung von Libraries?

Autor: Phozz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte das mal in ner andren demo-makefile so drinstehn. aber das
sollte doch eigentlich egal sein wo die funktionen definiert sind.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö, genau das ist es nicht. Wenn Deine zusätzlichen Funktionen einfach
in einem zweiten Sourcefile drinstehen, dann musst Du das so behandeln
wie ein zweites Sourcefile.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

das was du der Variablen LIB zuweißt wird höchstwahrscheinlich beim
Linken dem Compiler übergeben. Da steht dann also sowas wie

$(LD) $(LDFLAGS) -o$(BIN).elf $^ -l$(LIB)

Der (GNU)Linker kann aber nichts mit C-Dateien anfangen. Der braucht
entweder *.o oder eben Bibliotheken (*.a) die er dann per -l bekommt.
Du machst also mit dem GCC aus deiner *.c eine *.o (gcc -c ... gggt.c)
eine Objektdatei ggt.o. Aus dieser dann mit dem Libtool AR eine
Bibliothek (gggt.a). Und genau diese übergibst du dann mit der
LIB-Variablen an den Linker.

Matthias

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.