我对 Ubuntu 还很陌生,安装程序/库很困难。如何使用终端在 Ubuntu 中安装和构建 PortAudio?
答案1
以下内容在 Ubuntu 16.04 上对我有用:
sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0
sudo apt-get install ffmpeg libav-tools
答案2
安装 ALSA 开发工具包
OSS 声音 API 非常老旧,并且支持不佳。建议您使用 ALSA 声音 API。PortAudio 配置脚本将查找 ALSA SDK。您可以使用以下命令在 Ubuntu 上安装 ALSA SDK:
sudo apt-get install libasound-dev
您可能需要在您的机器上使用 yum 或其他包管理器,而不是 apt-get。如果您没有安装 ALSA,那么在测试时您可能会收到一条消息,提示您没有音频设备。
您可以在这里了解有关 ALSA 的更多信息:http://www.alsa-project.org/
配置和编译 PortAudio
您可以使用标准 configure/make 工具在 Linux 环境中构建 PortAudio:
./configure && make
这将使用 Jack、ALSA 和 OSS 构建 PortAudio,无论它们在您的系统上是什么组合。例如,如果您有 Jack 和 OSS 但没有 ALSA,它将使用 Jack 和 OSS 而不是 ALSA 进行构建。此步骤还会构建许多测试,这些测试可以在 PortAudio 的 bin 目录中找到。最好运行其中一些测试以确保 PortAudio 正常工作。
在您的项目中使用 PortAudio
要在您的应用中使用 PortAudio,您只需安装 .so 文件:
sudo make install
以这种方式构建的项目需要将 PortAudio 安装在目标系统上才能运行。如果您想构建更独立的二进制文件,可以使用 libportaudio.a 文件:
cp lib/.libs/libportaudio.a /YOUR/PROJECT/DIR
在某些系统上您可能需要使用:
cp /usr/local/lib/libportaudio.a /YOUR/PROJECT/DIR
您可能还需要将位于 PortAudio 的 include/ 目录中的 portaudio.h 复制到您的项目中。请注意,您通常需要链接到您使用的适当库,例如 ALSA 和 JACK,以及 librt 和 libpthread。例如:
gcc main.c libportaudio.a -lrt -lm -lasound -ljack -pthread -o YOUR_BINARY