Ich arbeite an einer C++ - Bibliothek. Letztendlich möchte ich es für mehrere Plattformen (zumindest Linux und Windows) öffentlich zugänglich machen, zusammen mit einigen Beispielen und Python Bindings. Die Arbeit schreitet gut voran, aber im Moment ist das Projekt ziemlich unordentlich, nur in und für Visual C++ gebaut und nicht Multi-Plattform.Verzeichnisstruktur für eine C++ - Bibliothek
Daher fühle ich eine Reinigung in Ordnung ist. Das erste, was ich verbessern möchte, ist die Verzeichnisstruktur des Projekts. Ich möchte eine Struktur erstellen, die für die Automake Tools geeignet ist, um eine einfache Kompilierung auf mehreren Plattformen zu ermöglichen, aber ich habe diese zuvor noch nie verwendet. Da ich in Visual Studio immer noch (größtenteils) codiere, brauche ich irgendwo auch meine Visual Studio Projekt- und Lösungsdateien.
Ich habe versucht, nach Begriffen wie "C++ Bibliothek Verzeichnisstruktur" googeln, aber nichts nützliches scheint zu kommen. Ich fand einige sehr grundlegende Richtlinien, aber keine kristallklaren Lösungen.
Während bei einigen Open-Source-Bibliotheken suchen, kam ich mit der Follow-up:
\mylib
\mylib <source files, read somewhere to avoid 'src' directory>
\include? or just mix .cpp and .h
\bin <compiled examples, where to put the sources?>
\python <Python bindings stuff>
\lib <compiled library>
\projects <VC++ project files, .sln goes in project root?>
\include?
README
AUTHORS
...
Ich habe keine/wenig Erfahrung mit Multi-Plattform-Entwicklung/Open-Source-Projekten und bin ganz erstaunt, dass ich nicht finden kann, irgendwelche guten Richtlinien, wie man solch ein Projekt strukturiert.
Wie sollte man ein solches Bibliotheksprojekt generell strukturieren? Was kann zum Lesen empfohlen werden? Gibt es einige gute Beispiele?
Scheint wie ein Duplikat http://stackoverflow.com/questions/1383174/source-file-organisation/1383188#1383188 –