我正在尝试在 Debian Wheezy 64 位 GNU/Linux 上创建一个 PortAudio 应用程序。我阅读了有关如何添加库的文档,它编译时没有错误。
现在,当我想使用此脚本初始化 PortAudio 时:
#include <stdio.h>
#include "portaudio.h"
int main(){
PaError err = Pa_Initialize();
if(err != paNoError){
fprintf(stderr, "Pa_Initialize error: %s\n", Pa_GetErrorText(err));
return 1;
}
return 0;
}
我得到以下输出:Pa_Initialize error: Host error.
当我尝试运行同样基于 PortAudio 的 Audacity 时,出现以下错误:
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
audacity: symbol lookup error: audacity: undefined symbol: Pa_GetStreamHostApiType
当我尝试调用这个函数时:
const PaHostErrorInfo* hostError;
hostError = Pa_GetLastHostErrorInfo();
我收到以下错误:Undefined reference to 'Pa_GetLastHostErrorInfo'
如何以正确的方式初始化 PortAudio,以及我的主机出了什么问题;PortAudio 是否需要我对 PulseAudio 做一些事情?
我已经尝试过这个主题的底层解决方案http://ubuntuforums.org/showthread.php?t=1756822,因为我认为它与库文件的配置有关。但这也不起作用,也不会改变错误。