You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Android版libOpus 1.3.1失败:找不到libopus.so动态库

解决Opus 1.3.1 Android编译时opus_demo找不到libopus.so的问题

出现clang: error: no such file or directory: './.libs/libopus.so'错误,核心原因是Opus核心动态库未生成,或编译流程配置有误。以下是具体解决步骤:

1. 重新配置编译参数,强制生成动态库

执行配置命令时,明确指定Android交叉编译工具链,并开启动态库编译选项:

# 先配置交叉编译环境变量(根据你的NDK路径和目标架构调整)
export ANDROID_NDK=/path/to/your/android/ndk
export CC=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang
export CXX=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++

# 执行configure
./configure \
  --host=arm-linux-androideabi \
  --prefix=/path/to/your/android/install \
  --enable-shared \
  --disable-static \
  --with-sysroot=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
  • --host:根据目标Android架构修改,比如aarch64-linux-android(64位ARM)、i686-linux-android(x86)
  • --enable-shared:强制生成动态库
  • --disable-static:可选,避免静态库编译产物干扰
  • --with-sysroot:指定NDK的sysroot路径,确保编译器能找到系统头文件和库

2. 清理旧产物并重新编译安装核心库

make clean
make -j$(nproc)
make install

完成后检查.libs目录,应该能看到libopus.so、libopus.so.0等动态库文件。

3. 编译opus_demo

直接执行make编译demo,若仍提示找不到库,可临时指定库路径:

# 常规编译
make opus_demo

# 若仍报错,手动指定动态库路径
LD_LIBRARY_PATH=./.libs make opus_demo

额外排查点

  • 确保NDK版本兼容:Opus 1.3.1适配旧版NDK,建议使用NDK r21e或更早版本,新版NDK可能存在编译兼容性问题。
  • 检查交叉编译工具链是否正确:确认CC、CXX环境变量指向的是NDK提供的clang编译器,而非系统默认编译器。

内容的提问来源于stack exchange,提问作者GuyPaddock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 13:08:20