SORU
23 Mayıs 2013, PERŞEMBE


usr/bin/ld: cannot-l<nameOfTheLibrary>

Benim program derlemeye çalışıyorum ve bu hatayı döndürür :

usr/bin/ld: cannot find -l<nameOfTheLibrary>

benim makefile komutu g ve benim kütüphane için sembolik bir link başka bir dizinde bulunan benim kitaplığa bağlantı kullanıyorum.

Yapmak eklemek için bir seçenek lütfen iş var mı?

CEVAP
8 ŞUBAT 2014, CUMARTESİ


Linker ne aradığını anlamaya, ayrıntılı modda çalıştırmak.

Örneğin, WİTH MySQL desteği ile derlemeye çalışırken bu sorunla karşılaştım. Derleme sırasında böyle bir hata alıyordum:

/usr/bin/ld: cannot find -lzlib

Bazı Googl para yaptım ve insanlar emin olun ki yeri aynı tür farklı konular arasında geliyordu .dosya gerçekten var ve eğer doğru değilse, sürüm bilgisi dosyaya bir sembolik bağ oluşturun değil, örneğin, with.bu yüzden.1.2.8. Ama kontrol ettiğimde, with.bu yüzden Mİ var. Bu yüzden düşündüm de, kesinlikle sorun olamaz.

Çalıştırmak için=LD_DEBUG ile öne İnternet'te bir yazı geldi:

LD_DEBUG=all make

Çıkış hata ayıklama bir SÜRÜ var olsa da, aslında yararlı değildi. Her şeyden daha fazla karışıklık ekledi. Bu yüzden vazgeçmek üzereydim.

Sonra birden kafamda bir şimşek çaktı. Aslında ld komut için metin: yardımcı kontrol etmeyi düşündüm

ld --help

Bu, ayrıntılı mod (hayal) ld çalıştırmak için nasıl anladım:

ld -lzlib --verbose

Bu aldığım çıktı

==================================================
attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.so failed
attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.a failed
attempt to open /usr/local/lib64/libzlib.so failed
attempt to open /usr/local/lib64/libzlib.a failed
attempt to open /lib64/libzlib.so failed
attempt to open /lib64/libzlib.a failed
attempt to open /usr/lib64/libzlib.so failed
attempt to open /usr/lib64/libzlib.a failed
attempt to open /usr/x86_64-linux-gnu/lib/libzlib.so failed
attempt to open /usr/x86_64-linux-gnu/lib/libzlib.a failed
attempt to open /usr/local/lib/libzlib.so failed
attempt to open /usr/local/lib/libzlib.a failed
attempt to open /lib/libzlib.so failed
attempt to open /lib/libzlib.a failed
attempt to open /usr/lib/libzlib.so failed
attempt to open /usr/lib/libzlib.a failed
/usr/bin/ld.bfd.real: cannot find -lzlib

Ding, ding, ding...

Yani, AYRICA benim kendi sürümü ile MySQL derleme diye sonunda bunu düzeltmek için (paketlenmiş sürümü yerine):

sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so

Voila!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boniver

    boniver

    17 NİSAN 2006
  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • KSI

    KSI

    25 Temmuz 2009

İLGİLİ SORU / CEVAPLAR