ld -shared obj1.o obj2.o -o libops.so
Um eine dynamische Bibliothek aus einer statischen zu erzeugen:
ld -shared -all libname.a -o libname.so
Beispiel:
% ld -shared calc_matrix.o io_matrix.o -o libmatrix.so
Dieser Aufruf erzeugt die dynamische Matrix libmatrix.so
Falls schon eine statische Bibliothek mit dieser Funktionalität existiert,
oder diese ebenfalls benötigt wird:
% ar -r libmatrix.a calc_matrix.o io_matrix.o
% ld -shared -all libmatrix.a -o libmatrix.so
Der erste Aufruf erzeugt eine statische Bibliothek libmatrix.a, der zweite verwendet diese Bibliothek, um daraus die dynamische Bibliothek libmatrix.so zu generieren.
Es wird keinen Unterschied machen, ob libmatrix.so aus der statischen Bibliothek oder direkt aus den Objektdateien erzeugt wird.