Organisation eigener Bibliotheken bei mehreren Projekten



  • Hallo zusammen,

    ich hab das jetzt mal hier gepostet, evtl. wäre die C++ Ecke aber auch richtig.

    Ich weiß nicht, wie ich meine Projekte mit Abhängigkeiten zu Bibliotheken strukturieren soll. Erstmal folgendes Bild:

    http://abload.de/img/libs8efma.png

    • Als erstes fällt auf, dass ich mich generell auf Boost festgelegt habe. Ich nutze nur Standard C++ und Boost.
    • Da ich viel mit Boost arbeite, habe ich mir eine lose Sammlung an Header/Cpp-Files angelegt, u.a. mit einer schönen Thread-Klasse die auf Boost basiert, oder den ausgeprägten Boost-Logger oder allgemeine Interfaces für Netzwerk o.ä.
    • Dann gibt es eine eigene Lib "myLib" für einen speziellen Anwendungsfall, die auch von Boost abhängt. Ggfs. auch von der losen Klassen-Sammlung, wenn man für die Lib auch ein spezielles Netzwerkinterface nutzen möchte (orange-gestrichelte Abhängigkeit)
    • Jetzt meine Projekte: Die nutzen alle Boost und mal die lose Sammlung oder myLib oder beides

    Jetzt weiß ich nicht, wie ich das aufbauen soll. Unter Linux gäbe es einen zentralen Ort, wo boost, myLib und vlt. auch meine lose Sammlung liegen würde.

    Unter Windows hab ich mir eigentlich den Ansatz von Jagged Alliance 2 angeschaut. Das Projekt kann man sich herunterladen und es ist gleich alles "on Board". D.h. Visual Studio-Projektdatei öffnen und kompilieren, ohne irgendwelche Pfade setzen zu müssen.

    So hab ich das bei meinen Projekten auch gemacht. D.h. Projekt A enthält komplett boost, genau wie Projekt B und C. Ist natürlich redundant. Aber man kann sich die Projekte aus dem SVN holen und sie sofort ohne Probleme übersetzen. Dementsprechend besitzen Projekt B und C auch eine lokale Kopie von myLib.

    Ich bin mir aber unsicher, ob das vlt. nicht doch der falsche Ansatz ist. Wie würdet ihr das handhaben bzw. wie macht ihr das?


Anmelden zum Antworten