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!
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
OK, schade. Zumindest weiß ich jetzt, dass ich mirs nicht unnötig schwer mache. Danke!
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.