DebianWheezy64ビット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をすでに試しました。しかし、それも機能せず、エラーは変わりません。