我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。
通过这篇文章了解c/c++编译器的基本使用,能够在后续移植第三方框架进行交叉编译时(编译android可用的库),清楚的了解应该传递什么参数,怎么传递参数给编译器,各个参数的意义是什么,从而为后面音视频的深入学习编译ffmpeg做好准备工作。
有关ffmpeg的编译资料网上一大推,但是照着资料拷贝的运行进行编译能顺利编译出静态库或静态库产物的寥寥无几。
笔者在学习的时候也是踩了很多的坑,确实是每次编译会诞生一个放弃的念头,原因还是自己的基础学得不够扎实。
因为ffmpeg和NDK都是在不断进行迭代的,比如说NDK在r18之后之后彻底移除了gcc(包含r18版本),ffmpeg在4.o版本开始也针对Android平台的交叉编译默认使用clang编译,但是网上的很多资料都是使用gcc编译的。
所以如果要对照网上资料进行编译的话,保证NDK版本和ffmpeg版本甚至是编译环境工具都和作者的一样,这样会大大提高编译的成功率。
在编译成功之后再不断尝试修改参数结合搜索资料尝试,力求弄清楚每个参数的意义,做到触类旁通。
本次编译使用的是mac苹果电脑,使用的NDK版本是r20,ffmpeg是从官网下载的最新版4.2.2。<