2008-10-23 8 views
8

Ich habe eine Software, die gegen mehrere Bibliotheken verbunden ist. Sie alle existieren in einer dynamischen (.so) und einer statischen (.a) Version. Standardmäßig wählt man bei Verwendung von g ++ die dynamische Version der Bibliotheken, und das ist für mich in Ordnung.Wie kann ich angeben, dass Bibliothek X statisch verknüpft werden muss?

Allerdings muss einer von ihnen unbedingt statisch verknüpft werden. Ich dachte über die Verwendung -static, aber dann verwendet es eine statische Version für alle von ihnen, die nicht was ich will.

Wie kann ich angeben, dass Bibliothek X statisch verknüpft werden muss, während die anderen weiterhin mit der freigegebenen Version der Bibliotheken verknüpft werden?

Antwort

9

g ++ -o foo (foo-Objekte) -Wl, -Bstatic -lmustbestatic -Wl, -Bdynamic -lother-lib

+0

Danke, es war genau das, was ich gesucht habe! – Barth

Verwandte Themen