Comment installer et utiliser libtool bibliothèque partagée (.lo fichiers)?
Donc après j'ai couru libtool et a obtenu un libfoo.lo
et foo.o
fichier à partir de ma bibliothèque source, comment convertir le libfoo.lo
fichier normal bibliothèque partagée, comme libfoo.so.1.0.0
afin que je puisse installer et mettre des liens sur mon système cible?
OriginalL'auteur theactiveactor | 2009-12-31
Vous devez vous connecter pour publier un commentaire.
À partir des sorties mentionnées dans la question, il semble que vous couru libtool --mode=mode compilation. Vous aurez besoin d'exécuter libtool à nouveau avec --mode=link à produire .un et .ainsi, les bibliothèques.
libtool est juste un simple wrapper pour gcc, ln ar et ranlib qui est nécessaire pour produire les bibliothèques. Il ne fait qu'exécuter gcc ajoutant les options nécessaires pour vous assurer que votre statiques et les bibliothèques partagées sont créés correctement.
Lors de la compilation de libtool insère-fPIC tag nécessaires à la génération de code indépendant de la position nécessaire pour les bibliothèques partagées. L' .o sont les fichiers objet normal les fichiers qui peuvent être archivées dans un statique .un fichier. L' .lo fichiers sont des fichiers de l'objet avec le code indépendant de la position, qui peuvent maintenant être liée à une .si le fichier.
Lors de la liaison de libtool sera exécuté ar pour créer une bibliothèque statique ou ln pour lier les objets fichiers dans un .afin de bibliothèque partagée.
libtool peut également installer la bibliothèque lorsque vous le souhaitez à l'aide de l' --mode=installer.
Voir http://www.gnu.org/software/libtool/manual/libtool.html pour plus d'info.
Rappelez-vous que lors de la construction d'un exécutable, il y a toujours deux étapes, la compilation et la liaison.
libtool --mode=finish
aussi être utilisé pour "terminer l'installation de libtool bibliothèques" pour certains systèmes. Juste compiler/lien/install n'est pas suffisant.OriginalL'auteur doron