Rumah > Tutorial sistem > LINUX > teks badan

Linux menetapkan laluan perpustakaan dinamik dan pembolehubah persekitaran

王林
Lepaskan: 2024-02-05 11:42:17
ke hadapan
1217 orang telah melayarinya

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)
Salin selepas log masuk

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)
Salin selepas log masuk

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/
Salin selepas log masuk

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!

sumber:lxlinux.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan