Erstellen einer statischen Bibliothek
Typischerweise werden Bibliotheken aus mehreren Source-Dateien erstellt. Diese müssen zunächst kompiliert werden:g++ -c spielfeld.cpp g++ -c flotte.cpp g++ -c schiff.cppAnschließend werden die Objektdateien zu einer neuen Datei zusammengebunden. Dazu dient unter UNIX und Linux der Befehl ar. Er kann theoretisch sogar als allgemeiner Datenpacker verwendet werden. Für das Erstellen statischer Bibliotheken verwendet er die Optionen -crs.
Die erzeugte Datei beginnt nach POSIX-Standard mit dem Präfix lib und endet auf .a. Die Bibliothek für bermuda heißt also libbermuda.a und wird später als bermuda eingebunden.
ar -crs libbermuda.a flotte.o schiff.o spielfeld.oDie Liste der Elemente einer Bibliothek lässt sich mit dem Befehl nm anzeigen.
nm -s libbermuda.aWenn Sie eine IDE verwenden, finden Sie dort Projekte zur Erstellung von Bibliotheken. Das Ziel eines solchen Projekts ist eine Bibliotheksdatei und statt einer ausführbaren Anwendungsdatei.
Einbinden einer statischen Bibliothek
Für das Einbinden von Bibliotheken sind zwei Optionen relevant:- -L (großes L): Damit wird dem Compiler mitgeteilt, wo sich die Bibliotheksdatei befindet. Für den Fall, dass sie sich im aktuellen Verzeichnis befindet, muss ein Punkt angegeben werden.
- -l (kleines L): Hier wird der Dateiname der Pfad angegeben. Unter UNIX und Linux wird dabei der Präfix lib und die Erweiterung .a weggelassen.
g++ -o programm main.cpp -L -lbermudaWenn Sie eine IDE verwenden, sind diese Informationen in den Dialogen zu den Projekteinstellungen zu suchen. Dort finden Sie einen Eintrag, in dem Sie Bibliotheken aufzählen und auch den Pfad ergänzen können.
Hinweis: Zu einer Bibliothek gehört in der Regel auch eine Headerdatei, die natürlich auch eingebunden werden muss.