Sous Linux, la est un fichier de bibliothèque compilé à l'aide de libtool. Il s'agit d'un fichier texte qui enregistre les informations relatives aux bibliothèques dynamiques et aux bibliothèques statiques du même nom ; ce fichier est le seul fichier enregistré entre les plateformes via libtool. libtool est un script général de support de bibliothèque qui ne traite que les fichiers libtool portant les suffixes lo et la.
L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.
la : Le fichier de bibliothèque compilé à l'aide de libtool est en fait un fichier texte qui enregistre des informations sur les bibliothèques dynamiques et statiques du même nom
Comment fonctionne libtool
libtool est une bibliothèque universelle des scripts, cachant la complexité de l'utilisation de bibliothèques dynamiques dans une interface unifiée et portable ; en utilisant les méthodes standard de libtool, des bibliothèques dynamiques peuvent être créées et appelées sur différentes plates-formes. On peut considérer que libtool est une abstraction de gcc, qui enveloppe gcc (ou d'autres compilateurs). Les utilisateurs n'ont pas besoin de connaître les détails. Ils ont seulement besoin d'indiquer à libtool quelles bibliothèques doivent être compilées, et libtool gérera les dépendances de la bibliothèque. et d'autres détails. libtool ne traite que les fichiers libtool avec les suffixes lo et la.
Développez vos connaissances :
Quelles sont les différences entre les fichiers so, o, lo, a et la sous Linux ?
o : fichier cible compilé
a : bibliothèque statique, qui est en fait un package de plusieurs fichiers o
so : bibliothèque de liens dynamiques (bibliothèque partagée)
lo : utiliser libtool Le compilé Le fichier cible est en fait des informations ajoutées au fichier o. L'une des fonctions principales de libtool est de résoudre le problème de dépendance de la bibliothèque lors du processus de compilation de logiciels volumineux ; ressources humaines des programmeurs. libtool fournit une interface unifiée, cachant des détails tels que les différences dans les noms de bibliothèques entre différentes plates-formes, générant une bibliothèque abstraite de haut niveau libxx.la avec le suffixe la (en fait un fichier texte) et attribuant les dépendances de la bibliothèque à d'autres bibliothèques. sont écrits dans le dossier de la la. dependency_libs dans ce fichier enregistre toutes les bibliothèques dont dépend la bibliothèque (dont certaines sont ajoutées sous forme de fichiers .la) ; libdir indique l'emplacement d'installation de la bibliothèque ; library_names enregistre le nom de la bibliothèque partagée ; nom de la bibliothèque statique.
$libtool --mode=link gcc -o myprog -rpath /usr/lib –L/usr/lib –la
libtool ira dans le chemin /usr/lib pour trouver liba.la, puis y lira le nom de la bibliothèque partagée réelle ( ceci est enregistré dans library_names Nom, tel que liba.so) et chemin (enregistré dans lib_dir, tel que libdir='/usr/lib'), renvoie des paramètres tels que /usr/lib/liba.so à la ligne de commande gcc déclenchée .
Si liba.so dépend de la bibliothèque /usr/lib/libb.so, il y aura dependency_libs='-L/usr/lib -lb' ou dependency_libs='/usr/lib/libb dans liba.la. ', si c'est la première, il passera directement "-L/usr/lib -lb" comme paramètre à la ligne de commande gcc ; si c'est la seconde, libtool lira depuis /usr/lib/libb.la ; Prenez le nom réel de la bibliothèque et le chemin de libb.so, puis combinez-les dans les paramètres "/usr/lib/libb.so" et transmettez-les à la ligne de commande gcc.
Recommandations associées : "
Tutoriel vidéo Linux"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!