Visual Studio错误编译Espeak

时间:2013-05-24 20:20:05

标签: compilation external portaudio espeak

我是Pascal程序员,但我需要为Windows编译一个C库。

该库是 espeak (语音合成器),它使用 portaudio lib来访问音频端口。我已经将C头文件翻译成Pascal,并且在使用Pascal头文件的Linux中使用该库没有问题。另外,在Linux中编译lib时没有问题(一些Make,......并且已经完成......)。

但我也想在Windows上使用它...... 所以我安装了Microsoft Visual Studio并加载了项目。

当我编译lib时,我得到的信息如下:

  

wavegen.obj:错误LNK2019:函数“int __cdecl WavegenInitSound(void)”中引用的未解析外部符号_Pa_Initialize(?WavegenInitSound @@ YAHXZ)

似乎未找到指向库的链接。 我如何声明该库的位置和位置(portaudio.dll)。

在代码中有#include“portaudio.h”,所以我认为定义了函数的链接。 但我找不到它在哪里定义使用哪个库(portaudio.dll)。

PS:我不会说优秀的C,所以有些代码非常受欢迎......

非常感谢

1 个答案:

答案 0 :(得分:0)

您需要确保要链接的portaudio版本与eSpeak编译的portaaudio.h版本相同。

eSpeak源包含portaudio的v18和v19标头。它还有portaudio.h,其中IIRC是v18标题的副本。