/usr/bin/ld: tidak dapat menemukan -llibeststring.a

Saya menggunakan festival TTS c++ API di program saya. Saya telah mengunduh semua file dari http://www.cstr.ed.ac.uk/downloads/festival/2.0.95/ dan berhasil menginstal festival dan Speech_tools di UBUNTU 10.04 saya

sekarang ketika mengkompilasi program c++ saya, gcc memberikan kesalahan:

g++ -L/usr/lib -L/home/peeyush/Desktop/festival/src/lib -L/home/peeyush/Desktop/speech_tools/lib -o"peeyush" ./src/peeyush.o -llibeststring.a -llibestbase.a -llibestools.a -llibFestival.a
/usr/bin/ld: cannot find -llibeststring.a
collect2: ld returned 1 exit status
make: *** [peeyush] Error 1

jadi tolong bantu saya untuk mengatasi kesalahan ini.

-Terima kasih

Peeyush Chandel (INDIA)


person CuriousCase    schedule 01.06.2010    source sumber
comment
Saat Anda menggunakan -l, secara otomatis mengawali nama perpustakaan dengan lib. Jadi gunakan -lbeststring -lbestbase dll   -  person p00ya    schedule 01.06.2010


Jawaban (1)


Saat menggunakan opsi -l, Anda tidak menentukan bagian depan lib atau akhir .a atau .so dari nama seperti yang diasumsikan oleh tautan. Anda ingin menggunakan sesuatu seperti -leststring untuk mengambilnya (dengan asumsi jalur -L Anda disetel dengan benar.

Sebagai alternatif, Anda dapat menentukan nama file yang tepat (jadi tidak ada -l, cukup libeststring.a) sebagai bagian dari daftar objek yang akan ditautkan (pastikan urutannya benar dibandingkan dengan file .o Anda), tetapi saya yakin dalam hal ini Anda harus menentukan jalur karena penghubung tidak akan tahu untuk mencari jalur -L Anda. Yang paling mudah adalah menggunakan -l.

person Mark B    schedule 01.06.2010