我正在尝试构建一个包含Cepstral语音合成功能的C ++程序。我的前任已经在机器上下载了该库,但显然他从未使用它。文档几乎不存在(有一个论坛并没有真正有用的东西)。他们所有包含的例子都在C中,缺少MakeFile,所以我自己尝试编译它们。那里的小文档只是告诉我我需要链接到libswift.so库。
这是一个Ubuntu 12.04.5操作系统,我尝试了这个编译命令
g++ -Wall -g tts.c -o tts -I/opt/swift/include -L/opt/swift/lib -lswift -lm
出现此错误
/opt/swift/lib/libswift.so: undefined reference to 'sin'
/opt/swift/lib/libswift.so: undefined reference to 'exp'
/opt/swift/lib/libswift.so: undefined reference to 'cos'
/opt/swift/lib/libswift.so: undefined reference to 'log'
/opt/swift/lib/libswift.so: undefined reference to 'pow'
collect2: ld returned 1 exit status
这似乎表明-lm由于某种原因没有正确链接(我也尝试将m和swift的顺序切换为相同的结果)。
我通常使用C ++并且只有很少的C经验。我也经常使用Makefile或编辑之前/提供的Makefile,很少调用g ++本身,所以我可能错过了一些相当明显的东西。感谢。