所以我在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 ???什么时候?我该如何解决这个问题?
答案 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)
中卡梅伦