Quelqu'un peut-il me dire fichier .la de quel libtool est destiné ? Comment est-il utilisé avec l’objet partagé ?
Réponses
Trop de publicités?Il est textuelle fichier qui contient la description de la bibliothèque.
Il permet d' libtool
créer plate-forme indépendante de noms.
Par exemple, libfoo
à la:
Sous linux:
/lib/libfoo.so # symlink to shared object
/lib/libfoo.so.1 # symlink to shared object
/lib/libfoo.so.1.0.1 # shared object
/lib/libfoo.a # static library
/lib/libfoo.la # libtool library
Sous cygwin:
/lib/libfoo.dll.a # import library
/lib/libfoo.a # static library
/lib/libfoo.la # libtool library
/bin/cygfoo_1.dll # dll
Sous windows mingw:
/lib/libfoo.dll.a # import library
/lib/libfoo.a # static library
/lib/libfoo.la # libtool library
/bin/foo_1.dll # dll
Donc, libfoo.la
est le seul fichier qui a conservé entre les plates-formes en libtool
permettant de comprendre ce qui se passe avec:
- dépendances de la bibliothèque
- les noms de fichiers réels
- bibliothèque de version et de révision
Sans fonction spécifique de la plate-forme de mise en œuvre de bibliothèques
Selon http://blog.flameeyes.eu/2008/04/14/what-about-those-la-files, ils sont nécessaires pour gérer les dépendances. Mais l'utilisation de pkg-config peut être une meilleure option:
Dans un monde parfait, chaque bibliothèque statique nécessitant des dépendances aurait son propre .pc fichier pkg-config, et chaque paquet d'essayer de lier statiquement à la bibliothèque serait à l'aide de pkg-config --statique pour obtenir les bibliothèques de lien.
J'ai trouvé une très bonne explication sur .la fichiers ici http://openbooks.sourceforge.net/books/wga/dealing-with-libraries.html
Résumé (de La même façon que j'ai compris): Parce que libtool traite statique et dynamique des bibliothèques en interne (par le biais --diable partagés ou --disable-static), il crée un wrapper sur les fichiers de la bibliothèque, il s'appuie. Ils sont traités comme binaire de la bibliothèque fichiers avec libtool environnement pris en charge.