Maison >Tutoriel système >Linux >Linux définit les chemins de bibliothèque dynamiques et les variables d'environnement
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
:
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)
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)
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/
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!