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

Linux legt dynamische Bibliothekspfade und Umgebungsvariablen fest

王林
王林nach vorne
2024-02-05 11:42:171162Durchsuche

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)

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)

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/

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen