2

我正在尝试在 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,因为我认为它与库文件的配置有关。但这也不起作用,也不会改变错误。

4

2 回答 2

2

大胆错误看起来像是配置错误。要深入了解您的问题,请尝试调用此函数以找出主机错误是什么:

常量 PaHostErrorInfo* Pa_GetLastHostErrorInfo ( 无效 )

http://portaudio.com/docs/v19-doxydocs/portaudio_8h.html#aad573f208b60577f21d2777a7c5054e0

于 2013-03-10T00:36:33.937 回答
1

经过一段时间的研究,我放弃了这个问题,并尝试通过删除并重新构建它来从源代码重新安装 PortAudio。谢天谢地,这一次成功了!

所以我想这是一个错误,在新版本中得到了解决。

于 2013-03-28T19:24:50.357 回答