Я пытаюсь создать приложение PortAudio на 64-разрядной версии Debian Wheezy GNU/Linux. Я прочитал документацию о том, как добавить библиотеку, и она компилируется без ошибок.
Теперь, когда я хочу инициализировать 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, потому что я думал, что это как-то связано с конфигурацией файлов библиотеки. Но это тоже не сработало и не меняет ошибку.
apt-get install
по умолчанию для установки Audacity, поэтому любые ошибки в несовместимых версиях должны возникать таким образом. - person tversteeg   schedule 10.03.2013