Heim > Artikel > System-Tutorial > Linux legt dynamische Bibliothekspfade und Umgebungsvariablen fest
Nach der Installation der kompilierten Quellbibliotheken unter Linux müssen wir dem System ermöglichen, sie standardmäßig zu erkennen.
Angenommen, wir haben die Bibliothek unter dem Pfad /usr/local/aarch64_qt5.12.0
installiert:
Wenn die Konfiguration der dynamischen Bibliotheksverknüpfung nicht durchgeführt wird, kann das System die erforderliche *.so-Datei nicht finden, was dazu führt, dass die Software nicht ausgeführt werden kann.
Sie können Abhängigkeiten anzeigen, indem Sie den Befehl ldd
ausführen, zum Beispiel:
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)
Der dümmste Weg ist, das kompilierte entsprechende so nach /usr/lib oder /lib zu kopieren. Wenn es viele entsprechende so gibt, wird es ein Problem sein.
Einstellmethode:
1) Erstellen Sie eine dynamische Bibliothekskonfigurationsdatei *.conf unter dem Pfad /etc/ld.so.conf.d, zum Beispiel:
sudo vim /etc/ld.so.conf.d/Qt5.conf
Zur Datei hinzufügen:
/usr/local/aarch64_qt5.12.0/lib
2) Dynamische Bibliothekskonfiguration laden
Befehl ausführen: 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)
Wenn Sie verwandte Programme ausführen, müssen Sie zum Ausführen nicht in das angegebene Verzeichnis wechseln und können in jedem Verzeichnis ausgeführt werden.
Einstellmethode:
1. Die aktuelle Sitzung wird vorübergehend wirksam: Befehlszeileneingabe export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin
2. Dauerhaft gültig für Benutzer: vi ~/.bashrc Die letzte Zeile Eingabe export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin
Umgebungsvariablen wirksam machen: Quelle .bashrc
3. Globale und dauerhafte Wirkung:
Fügen Sie einen Pfad zu $PATH in /etc/profile oder /etc/bash.bashrc hinzu. Wenn die Namen identisch sind, müssen Sie den neuen Pfad vor anderen Pfaden einfügen.
export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin
Umgebungsvariablen wirksam werden lassen: Quelle /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/
Das obige ist der detaillierte Inhalt vonLinux legt dynamische Bibliothekspfade und Umgebungsvariablen fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!