Rumah >pembangunan bahagian belakang >C++ >Mengapa Pemaut Saya Tidak Dapat Menemui `-l`?
"usr/bin/ld: cannot find -l
Apabila menyusun atur cara, menghadapi ralat "usr/bin/ld: cannot find -l
1. Sahkan Kewujudan Perpustakaan:
Pastikan perpustakaan yang anda rujuk wujud di lokasi yang ditentukan. Jalankan arahan berikut untuk menyenaraikan semua perpustakaan yang tersedia:
ldconfig -p | grep <nameOfTheLibrary>
2. Pengesahan Pautan Simbolik:
Jika anda telah mencipta pautan simbolik ke pustaka, sahkan bahawa ia betul dan tuding ke fail perpustakaan sebenar. Gunakan arahan "ls -l" untuk melihat pautan:
ls -l <symbolicLink>
3. Output Pemaut Verbose:
Untuk menentukan fail khusus yang sedang dicari oleh pemaut, jalankannya dalam mod verbose. Tambahkan bendera "--verbose" pada arahan pemautan:
ld -l<nameOfTheLibrary> --verbose
Output akan menunjukkan semua direktori dan fail berpotensi yang sedang dipertimbangkan oleh pemaut.
4. Pasang Perpustakaan yang Hilang:
Jika perpustakaan tidak wujud atau tidak dapat ditemui, pasangkannya menggunakan pengurus pakej anda. Contohnya, pada sistem berasaskan Debian:
sudo apt-get install <nameOfTheLibrary>-dev
5. Tambahkan Laluan Pustaka pada Perintah:
Dalam sesetengah kes, pemaut mungkin tidak dapat mencari pustaka secara automatik. Anda boleh menentukan laluan perpustakaan secara manual menggunakan bendera "-L":
g++ -o myprogram myprogram.cpp -l<nameOfTheLibrary> -L/path/to/library
Contoh:
Untuk menyelesaikan isu yang diterangkan dalam masalah yang dirujuk, di mana pemaut tidak dapat mencari pustaka ZLIB:
sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so
Atas ialah kandungan terperinci Mengapa Pemaut Saya Tidak Dapat Menemui `-l`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!