Forum: Compiler & IDEs GCC/CodeBlocks - "Bibliothek" verwenden


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Bastler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Allerseits,

der Begriff Bibliothek ist vielleicht etwas unscharf, es geht um keine 
Binärbibliothek, sondern um eine, die als Source-Code vorliegt. Hier 
bspw. der LWIP-TCP-Stack.

Wie bindet man eine solche Bibliothek grundsätzlich in CodeBlocks ein? 
Bisher habe ich (bei kleineren Bibliotheken) alle benötigten Dateien dem 
Projekt zugefügt und die Ordner dem Suchpfad hinzugefügt. Jetzt bei LWIP 
wird das mühsam und der Compiler (oder die IDE) sollte ja je nach 
eingestellten Defines besser als ich wissen, welche Dateien benötigt 
werden und diese eben übersetzen.

Wie ist die grundsätzliche Vorgehensweise? Oder muss ich die Bibliothek 
erst getrennt kompilieren und dann als echte Binärbibliothek einbinden, 
wenn ich nicht jede einzelne Datei dem Projekt zufügen möchte?

(Bin noch neu in dem Bereich:)

Danke schonmal!

von Oliver S. (oliverso)


Bewertung
0 lesenswert
nicht lesenswert
Der Compiler ist faul und bequem, der sucht und findet von sich aus 
keine source-Dateien. Dafür gibts Systeme wie Codeblocks, um das zu 
verwalten.

Kleine Projekte können schonmal aus ein paar hundert Dateien bestehen. 
Die musst du halt einmal dem Projekt hinzufügen. So aufwendig ist das 
doch jetzt auch nicht.

Oliver

von Bastler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
OK, schade. Zumindest weiß ich jetzt, dass ich mirs nicht unnötig schwer 
mache.

Danke!

von Vincent H. (vinci)


Bewertung
0 lesenswert
nicht lesenswert
Bibliotheken sind in sich abgeschlossene Projekte und sollten auch so 
behandelt werden. Die schnelle und einfache Variante eine Bibliothek 
innerhalb von CodeBlocks einzubinden wird sein den Pfad von Header und 
Archiv irgendwo einzutragen. Wo genau sich diese Option befindet kann 
ich leider nicht sagen, da ich CodeBlocks selbst nicht benutze.

Prinzipiell würde ich jedoch dazu raten ein Build (bzw. MetaBuild) 
System abseits der IDE zu nutzen. IDEs kommen und gehen und brechen auch 
gern mal die Rückwärtskompatibilität zu Projektdatein. Besser wäre wohl 
den gesamten Build auf CMake (oder zumindest Make) umzustellen. Damit 
lassen sich Abhängigkeiten zu Bibliotheken wesentlich besser abbilden.

/edit
Auch wenn es bei der Embedded Programmierung leider immer noch gang und 
gäbe ist, aber Source Datein kopieren ist ein absolutes NO-GO.

: Bearbeitet durch User

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]
  • [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.

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