我想在Debian Wheezy 64位GNU/Linux上創建一個PortAudio應用程序。我閱讀了關於如何添加庫的文檔,並且編譯時沒有錯誤。初始化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.
當我嘗試運行Audacity的,這也是基於PortAudio我得到以下錯誤:
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,因爲我認爲它與庫文件的配置有關。但是這也不起作用,它不會改變錯誤。
你通過[Pa_Initialize文檔首頁](http://audacity.sourcearchive.com/documentation/1.3.12-16/pa__front_8c_a0db317604e916e8bd6098e60e6237221.html#a0db317604e916e8bd6098e60e6237221) – 2013-03-09 19:38:03
是的,我沒有,但它並沒有幫我解決了問題,它沒有澄清錯誤。 – tversteeg 2013-03-09 19:40:27
閱讀'符號查找錯誤:audacity:未定義的符號,它聽起來像庫文件有問題 - 就像如果audacity編譯與PortAudio標頭不匹配/ usr/lib中的.so文件(也許是一個不同的版本?)... – neodelphi 2013-03-09 20:08:37