我是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,所以有些代码非常受欢迎......
非常感谢
答案 0 :(得分:0)
您需要确保要链接的portaudio版本与eSpeak编译的portaaudio.h
版本相同。
eSpeak源包含portaudio的v18和v19标头。它还有portaudio.h
,其中IIRC是v18标题的副本。