C 初始化PortAudio:主机错误

C 初始化PortAudio:主机错误,c,audio,alsa,portaudio,audacity,C,Audio,Alsa,Portaudio,Audacity,我试图在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_I

我试图在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;
}
当我尝试调用此函数时:

const PaHostErrorInfo* hostError;
hostError = Pa_GetLastHostErrorInfo();
我得到以下错误:
未定义对“Pa\u GetLastHostErrorInfo”的引用。

如何以正确的方式初始化PortAudio,以及我的主机有什么问题;PortAudio需要我对PulseAudio做些什么吗


我已经尝试了这个主题的底层解决方案,因为我认为它与库文件的配置有关。但这也不起作用,也不会改变错误。

音频错误看起来像是配置错误。要弄清问题的根源,请尝试调用此函数以了解主机错误:

const PaHostErrorInfo*Pa_GetLastHostErrorInfo(无效)


研究了一段时间后,我放弃了这个问题,尝试从源代码处重新安装PortAudio,将其删除并重新构建。谢天谢地,这次成功了


因此,我想这是一个在新版本中得到解决的bug。

您是否经历了是的,我经历了,但它没有帮助我解决问题,它没有澄清错误。阅读“符号查找错误:audacity:未定义的符号̀”,听起来库文件有问题-比如如果audacity编译时使用的PortAudio头与/usr/lib中的.so文件不匹配(可能是另一个版本?)。@Thomas抱歉,我希望我能帮助你,但我不知道我在文档中搜索,但对我来说不可能……你可以邮寄它们。@GrijeshChauhan没问题,如果我自己找不到答案,我会发邮件给他们@neodelphi这听起来确实像是一个库问题,但我使用默认的Debian
apt get install
方法安装Audacity,因此不兼容版本中的任何错误都应该以这种方式引发我收到以下错误:
未定义对“Pa_GetLastHostErrorInfo”的引用
,它确实看起来有些配置错误。这里和audacity看起来都是动态链接问题。就像它找不到PortAudio库一样。是的,你会这么想,但我可以调用我问题中描述的函数。
const PaHostErrorInfo* hostError;
hostError = Pa_GetLastHostErrorInfo();