【错误记录】编译 ijkplayer 报错 (fatal error: ijksoundtouch/ijksoundtouch_wrap.h: No such file or directory )


参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ;





一、报错信息



在编译完 ffmpeg 之后 , 执行

./compile-ijk.sh all

命令 , 编译 ijkplayer ;

这也是最后一条命令 ;


执行后报错 :

root@octopus:~/ijkplayer/ijkplayer-android/android# ./compile-ijk.sh all
profiler build: NO

[armeabi-v7a] Compile thumb  : ijkplayer <= ff_ffplay.c
[armeabi-v7a] Compile thumb  : ijkplayer <= ijkplayer.c
[armeabi-v7a] Compile thumb  : ijkplayer <= ffpipeline_ffplay.c
[armeabi-v7a] Compile thumb  : ijkplayer <= ffpipenode_ffplay_vdec.c
[armeabi-v7a] Compile thumb  : ijkplayer <= ffmpeg_api_jni.c
/root/ijkplayer/ijkplayer-android/android/ijkplayer/ijkplayer-armv7a/src/main/jni/ijkmedia/ijkplayer/ff_ffplay.c:78:46: fatal error: ijksoundtouch/ijksoundtouch_wrap.h: No such file or directory
 #include "ijksoundtouch/ijksoundtouch_wrap.h"
                                              ^
compilation terminated.
make: *** [/root/ijkplayer/ijkplayer-android/android/ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a/objs/ijkplayer/ff_ffplay.o] Error 1
make: *** Waiting for unfinished jobs....
/root/ijkplayer/ijkplayer-android/android
profiler build: NO

在这里插入图片描述

搜索整个目录 , 确实没有 “ijksoundtouch/ijksoundtouch_wrap.h” 文件 ;





二、解决方案



在根目录下 , 有一个 init-android-soundtouch.sh 脚本 ,

在这里插入图片描述
执行该 init-android-soundtouch.sh 脚本 , 就可以自动下载并安装 soundtouch ;

在 ijkplayer-android 目录中 , 执行

./init-android-libyuv.sh

命令 , 下载 libyuv 依赖库 , 之后编译 ijkplayer 需要用到 ;

执行过程 :

root@octopus:~/ijkplayer/ijkplayer-android# ./init-android-libyuv.sh 
== pull libyuv base ==
正克隆到 'extra/libyuv'...
remote: Enumerating objects: 12767, done.
remote: Total 12767 (delta 0), reused 0 (delta 0), pack-reused 12767
接收对象中: 100% (12767/12767), 2.60 MiB | 839.00 KiB/s, 完成.
处理 delta 中: 100% (10540/10540), 完成.
== pull libyuv fork ==
正克隆到 'ijkmedia/ijkyuv'...
对象计数中: 12767, 完成.
Delta compression using up to 4 threads.
压缩对象中: 100% (2210/2210), 完成.
写入对象中: 100% (12767/12767), 完成.
Total 12767 (delta 10540), reused 12767 (delta 10540)
分支 'ijk-r0.2.1-dev' 设置为跟踪来自 'origin' 的远程分支 'ijk-r0.2.1-dev'
切换到一个新分支 'ijk-r0.2.1-dev'
/root/ijkplayer/ijkplayer-android
root@octopus:~/ijkplayer/ijkplayer-android# 

在这里插入图片描述

执行完毕后 , 在 ijkplayer-android/ijkmedia 目录中就可以看到 ijksoundtouch 目录 ;

在这里插入图片描述

再次执行 , 就不会报上述错误 ;

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值