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!