Maison > Tutoriel système > Linux > le corps du texte

Linux définit les chemins de bibliothèque dynamiques et les variables d'environnement

王林
Libérer: 2024-02-05 11:42:17
avant
1219 Les gens l'ont consulté

Linux définit les chemins de bibliothèque dynamiques et les variables denvironnement

Après avoir installé les bibliothèques sources compilées sous Linux, nous devons permettre au système de les reconnaître par défaut.

Supposons que nous ayons installé la bibliothèque sous le chemin /usr/local/aarch64_qt5.12.0 :

1. Définir la configuration dynamique des liens de bibliothèque

Si la configuration dynamique du lien de bibliothèque n'est pas effectuée, le système ne pourra pas trouver le fichier *.so requis, ce qui entraînera l'échec de l'exécution du logiciel.

Vous pouvez afficher les dépendances en exécutant la commande ldd, par exemple :

pi@NanoPi-NEO-Plus2:~$ ldd untitled
        linux-vdso.so.1 =>  (0x0000ffffba839000)
        libQt5Widgets.so.5 => not found
        libQt5Gui.so.5 => not found
        libQt5Core.so.5 => not found
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffba7e2000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffba653000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffba5a6000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffba585000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffba43e000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffffba80e000)
Copier après la connexion

Le moyen le plus stupide est de copier le so compilé correspondant dans /usr/lib ou /lib S'il y en a plusieurs correspondants, ce sera un problème.

Méthode de réglage :

1) Créez un fichier de configuration de bibliothèque dynamique *.conf sous le chemin /etc/ld.so.conf.d, par exemple :

sudo vim /etc/ld.so.conf.d/Qt5.conf

Ajouter au dossier :

/usr/local/aarch64_qt5.12.0/lib

2) Charger la configuration dynamique de la bibliothèque

Exécuter la commande : sudo ldconfig

pi@NanoPi-NEO-Plus2:~$ ldd untitled
        linux-vdso.so.1 =>  (0x0000ffffa4b1a000)
        libQt5Widgets.so.5 => /usr/local/aarch64_qt5.12.0/lib/libQt5Widgets.so.5 (0x0000ffffa451d000)
        libQt5Gui.so.5 => /usr/local/aarch64_qt5.12.0/lib/libQt5Gui.so.5 (0x0000ffffa4039000)
        libQt5Core.so.5 => /usr/local/aarch64_qt5.12.0/lib/libQt5Core.so.5 (0x0000ffffa39ed000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffa39c1000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffa3832000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffa3785000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffa3764000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa361d000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa360a000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffffa4aef000)
Copier après la connexion

2. Définir les variables d'environnement

Lors de l'exécution de programmes associés, vous n'avez pas besoin de basculer vers le répertoire spécifié pour l'exécuter et vous pouvez l'exécuter dans n'importe quel répertoire.

Méthode de réglage :

1. La session en cours prend effet temporairement : entrée de ligne de commande export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

2. Valide en permanence pour les utilisateurs : vi ~/.bashrc La dernière ligne d'entrée export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

Faire prendre effet aux variables d'environnement : source .bashrc

3. Effet global et permanent :

Ajoutez un chemin vers $PATH dans /etc/profile ou /etc/bash.bashrc Si les noms sont les mêmes, vous devez placer le nouveau chemin devant les autres chemins.

export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

Activer les variables d'environnement pour qu'elles prennent effet : source /etc/profile

pi@NanoPi-NEO-Plus2:~$ echo $PATH
/usr/local/aarch64_qt5.12.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/
Copier après la connexion

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!

source:lxlinux.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal