/ usr / bin / ld: не удается найти -llibeststring.a - PullRequest
2 голосов
/ 01 июня 2010

Я использую Festival TTS C ++ API в моей программе. Я скачал все файлы с http://www.cstr.ed.ac.uk/downloads/festival/2.0.95/ и успешно установите festival и speech_tools на моем UBUNTU 10.04

теперь при компиляции моей программы на c ++ gcc выдает ошибку:

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

, поэтому, пожалуйста, помогите мне разобраться с этой ошибкой.

-Спасибо

Peeyush Chandel (ИНДИЯ)

1 Ответ

7 голосов
/ 01 июня 2010

При использовании опции -l вы не указываете начальные lib или завершающие .a или .so части имени, как они предполагаются компоновщиком. Вы могли бы использовать что-то вроде -leststring, чтобы поднять это (при условии, что ваш -L путь установлен правильно.

В качестве альтернативы вы можете указать точное имя файла (поэтому не -l, просто libeststring.a) как часть списка объектов для ссылки (убедитесь, что порядок соответствует вашим .o файлам), но я верю в это В этом случае вам нужно будет указать путь, так как компоновщик не будет знать, чтобы искать ваш -L путь. Проще всего использовать -l.

...