2010-06-01 28 views
2

我使用TTS节日C++ API已经从http://www.cstr.ed.ac.uk/downloads/festival/2.0.95/ 下载的所有文件,现在在我的Ubuntu 10.04在/ usr /斌/劳工处:找不到我program.I -llibeststring.a

成功安装节日和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 

所以请帮助我弄清楚这个错误。

-Thanks

Peeyush Chandel(INDIA)

+4

当你使用“-l”时,它会自动为“lib”指定库名,所以使用-lbeststring -lbestbase等 – p00ya 2010-06-01 04:16:24

回答

7

当使用-l选项,你不指定领先lib或尾随.a.so部件的名称,因为他们正在通过连接器假定。你会想使用类似-leststring把它捡起来(假设你的-L路径设置是否正确。

或者您可以指定确切的文件名(所以没有-l,只是libeststring.a)作为对象列表链接的一部分(请确保您的.o文件的顺序是正确的),但是我相信在这种情况下,您将不得不指定路径,因为链接程序不会搜索您的-L路径。最简单的方法是使用-l,尽管如此。

相关问题