由于缺少-leststring并缺少libeststring.a,无法编译FestVox

时间:2014-05-14 04:09:55

标签: makefile text-to-speech cmusphinx speech-synthesis festival

所以我在Win8.1机器上使用Cygwin安装/编译了speech_tools和Festival(2.3),以便我可以使用此命令成功生成语音:

echo "hello world" | \src\main\festival --tts

下一步是让我运行FestVox。我已经下载了FestVox 2.6并运行了./configure;然而,'make'步骤给我带来了麻烦,产生了这个错误:

gcc -O3 -Wall -o phonealign phonealign_main.o -LC:/cygwin64/Festival/build
/speech_tools/lib -lestools -lestbase -leststring -lncurses  -lstdc++ -lm -lwinmm -luser32
/usr/bin/ld: cannot find -leststring
collect2: error: ld returned 1 exit status
Makefile:80: recipe for target 'phonealign' failed

所以,我查看了我的Makefile,它可能正在尝试寻找这个文件,它看起来就像在那个目录中(build \ speech_tools \ lib)我错过了我的libeststring.lib的libeststring.a伙伴。 libestbase和libestools在该目录中都有.lib和.a文件。

我走错了哪一步?是应该在某个时候创建​​了libeststring.a ???什么时候?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为问题是你应该在Windows中使用编译器而不是Cygwin中的gcc。 Cygwin中用于构建Festival的角色是运行configure以生成VC的Makefile。然后在Windows命令行中运行nmake而不是Cygwin中的make

Cygwin无法像MINGW那样构建本机Windows应用程序。 Cygwin中的应用程序构建只能在Cygwin中运行。

* .a是Linux的静态库,由gcc构建。 * .lib是Windows的静态库,由VC构建。

所以我建议你看看FestVox中的README,INSTALL文件。要查找是否有为make创建一个Makefile的描述,如process" 3。在Cygwin中制作VC的makefile"在我的文件(http://www.eguidedog.net/doc_build_win_festival.php

卡梅伦