jika perpustakaan Anda tidak berada di jalur standar maka Anda perlu menambahkannya ke jalur tersebut atau menambahkan jalur non-standar ke LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Your_non-Standard_path>
Setelah Anda melakukan salah satu dari hal-hal di atas, Anda perlu memperbarui pengikatan run-time linker dinamis dengan menjalankan perintah di bawah ini:
sudo ldconfig
PEMBARUAN:
Anda dapat membuat perubahan permanen dengan menulis export
di atas baris ke salah satu file startup Anda (mis. ~/.bashrc) ATAU jika pustaka yang mendasarinya tidak bertentangan dengan pustaka lain mana pun, maka masukkan ke salah satu jalur pustaka standar (mis. /lib,/usr/lib)
LD_LIBRARY_PATH
cocok untuk pengujian singkat, tetapi karena hanya ada satu variabel , canggung untuk digunakan saat Anda mungkin memiliki banyak aplikasi dengan pustaka khusus.
Cara biasa untuk Debian/Ubuntu adalah dengan menambahkannya ke konfigurasi loader, mis., file di bawah
/etc/ld.so.conf.d
berisi direktori tempat Anda ingin loader mencari, mis.,
/usr/local/libcsfml
Bacaan lebih lanjut:
- ldconfig - mengonfigurasi binding run-time linker dinamis
- ld.so, ld-linux.so* - penaut/pemuat dinamis
- Mengapa LD_LIBRARY_PATH buruk
Sepertinya biner yang dimaksud dikompilasi oleh Anda.
Jadi, Anda bertanggung jawab atas masalah yang tidak dapat ditemukan beberapa perpustakaan.
Jika pustaka ini tersedia di sistem Anda, pustaka tersebut tampaknya berada di lokasi direktori non-standar.
Gunakan -R directory
untuk panggilan kompiler terakhir untuk memberi tahu linker directory
dimana perpustakaan berada. Lebih dari satu -R directory
opsi dimungkinkan.
Perhatikan bahwa saat Anda menggunakan gcc
, Anda mungkin perlu menggunakan -Wl,-R
bukannya -R
.