Ich beginne ein neues C-Projekt, das weitgehend OSS-basiert ist. Es wird auch bei SourceForge sein, und ich möchte diese Gelegenheit nutzen, bewährte Methoden zum Organisieren dieser Art von Code zu erlernen. Ich benutze Bibliotheken wie libcurl und libz und ich kompiliere es mit MinGW und MSYS.Wie organisiere ich meinen C-Projektcode und seine externen Bibliotheken am besten?
Ich werde die Quelle aller Bibliotheken verteilen, die ich mit meinem Projekt verwende, damit die Leute, die die Quelle herunterladen, nicht nach Abhängigkeiten suchen müssen. Wie soll ich das Verzeichnis nennen, in dem ich die Bibliotheken ablege? Bisher zögere ich zwischen:
- lib, weil sie Bibliotheken sind. "Lib" hat jedoch eine andere Bedeutung in der UNIX-Welt.
- src, weil sie Quelldateien sind.
- 3rd Party, weil ich es nicht geschrieben habe.
Und wo soll ich diese Bibliotheken kompilieren? Sollte ich sie einfach im System-Root konfigurieren und installieren, oder sollte ich ein Verzeichnis einrichten, in dem alle Bibliotheken kompilieren und von dort verlinken sollen? Offensichtlich wird dies Auswirkungen auf mein Makefile haben.
Wie soll ich vorgehen? Gibt es etablierte Konventionen, denen ich folgen sollte? Sind sie irgendwo aufgeschrieben?