我在程序中使用了Festival TTS c++ API,我已经从http://www.cstr.ed.ac.uk/downloads/festival/2.0.95/下载了所有文件
并在我的UBUNTU 10.04上成功安装了Festival和Speech_tools
现在,当编译我的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(印度)
最佳答案
使用-l
选项时,您无需指定链接器假定的名称的开头lib
或结尾的.a
或.so
部分。您可能希望使用-leststring
之类的东西来拾取它(假设-L
路径设置正确)。
或者,您可以在链接的对象列表中指定确切的文件名(因此,没有-l
,只有libeststring.a
)(确保顺序相对于.o文件正确),但是我认为在这种情况下,您必须指定链接器不知道搜索您的-L
路径。最简单的方法是使用-l
。
关于c++ -/usr/bin/ld:找不到-llibeststring.a,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2947239/