Rumah >Tutorial sistem >LINUX >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
:
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)
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!