Je struggeling un peu avec quelques options pour relier un projet sur lequel je travaille actuellement sur:Lien une bibliothèque partagée statique à ma bibliothèque partagée
Je suis en train de créer une bibliothèque partagée qui est lié avec 2 autres bibliothèques. (Appelons-les libfoo.so
et libbar.so
)
Ma bibliothèque de sortie doit être une bibliothèque partagée et je veux lier statique libfoo.so
à la bibliothèque résultante, mais libbar.so
doit être lié comme une bibliothèque dynamique. (libbar.so
devrait être disponible sur toutes les machines, où libfoo.so
n'est pas disponible et je ne veux pas que l'utilisateur l'installe/l'envoie avec mes binaires.)
Comment est-ce que je peux l'archiver?
Mon instruction de construction actuelle ressemble à ceci:
c++ -Wall -shared -c -o src/lib.o src/lib.cpp
c++ -Wall -shared -o lib.ndll src/lib.o -lfoo -lbar
Je ma défense: Je ne suis pas un c/C++ expert, désolé si cette question semble être stupide.
Il me semble que ce soit un double de http://stackoverflow.com/questions/2812079/compile-a- shared-library-static/2812137 – AProgrammer
Je n'ai pas de version statique de libfoo.so – TheHippo
Pour autant que je sache, ce n'est pas possible. Vous pouvez vérifier dans le manuel de l'éditeur de liens. – AProgrammer