Rumah  >  Artikel  >  Tutorial sistem  >  Linux menetapkan laluan perpustakaan dinamik dan pembolehubah persekitaran

Linux menetapkan laluan perpustakaan dinamik dan pembolehubah persekitaran

王林
王林ke hadapan
2024-02-05 11:42:171216semak imbas

Linux menetapkan laluan perpustakaan dinamik dan pembolehubah persekitaran

Selepas memasang perpustakaan kompilasi sumber pada Linux, kami perlu mendayakan sistem mengenalinya secara lalai.

Andaikan kami telah memasang perpustakaan di bawah laluan /usr/local/aarch64_qt5.12.0:

1. Tetapkan konfigurasi pautan perpustakaan dinamik

Jika konfigurasi pautan perpustakaan dinamik tidak dilakukan, sistem tidak akan dapat mencari fail *.so yang diperlukan, menyebabkan perisian gagal untuk dilaksanakan.

Anda boleh melihat kebergantungan dengan melaksanakan perintah ldd, contohnya:

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)

Cara paling bodoh adalah dengan menyalin kompilasi yang sepadan ke /usr/lib atau /lib Jika terdapat banyak yang sepadan, ia akan menjadi masalah.

Kaedah tetapan:

1) Buat fail konfigurasi perpustakaan dinamik *.conf di bawah laluan /etc/ld.so.conf.d, contohnya:

sudo vim /etc/ld.so.conf.d/Qt5.conf

Tambah pada fail:

/usr/local/aarch64_qt5.12.0/lib

2) Muatkan konfigurasi perpustakaan dinamik

Laksanakan arahan: 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. Tetapkan pembolehubah persekitaran

Apabila melaksanakan program berkaitan, anda tidak perlu beralih ke direktori yang ditentukan untuk melaksanakan, dan boleh dilaksanakan dalam mana-mana direktori.

Kaedah tetapan:

1 Sesi semasa berkuat kuasa buat sementara waktu: input baris arahan PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

2 Sah secara kekal untuk pengguna: vi ~/.bashrc Eksport input baris terakhir PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

Jadikan pembolehubah persekitaran berkesan: sumber .bashrc

3 Kesan global dan kekal:

Tambah laluan ke $PATH dalam /etc/profile atau /etc/bash.bashrc Jika nama adalah sama, anda perlu meletakkan laluan baharu di hadapan laluan lain.

eksport PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

Dayakan pembolehubah persekitaran berkuat kuasa: sumber /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/

Atas ialah kandungan terperinci Linux menetapkan laluan perpustakaan dinamik dan pembolehubah persekitaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lxlinux.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam