Heim > System-Tutorial > LINUX > Linux legt dynamische Bibliothekspfade und Umgebungsvariablen fest

Linux legt dynamische Bibliothekspfade und Umgebungsvariablen fest

王林
Freigeben: 2024-02-05 11:42:17
nach vorne
1258 Leute haben es durchsucht

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:

1. Legen Sie die Konfiguration der dynamischen Bibliotheksverknüpfung fest

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

2. Umgebungsvariablen festlegen

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/
Nach dem Login kopieren

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!

Quelle:lxlinux.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage