记录ffmpeg编译遇到的坑
由于需要在Android开发使用ffmpeg,所以决定进行一个编译,但是遇坑无数,所以记录下来,希望最终可以成功。
系统:MacOS12.5
brew install ffmpeg
这个命令可以安装一个在命令行使用的ffmpeg,全程新手友好,无需额外操作,一遍能成功,但是我要的.so文件是没有的
使用.a文件编辑.so文件
.a和.so文件的互相编译本身不是很复杂,在网上也能搜到一些资料。
在/usr/local/Cellar/ffmpeg/5.1/lib里面找到了8个.a文件,然后按照https://blog.csdn.net/shulianghan/article/details/104367747中的命令,试图把.a文件编译成.so文件,由于macOS没有–whole–archive和–no–whole–archive,替换成了-all_load和-noall_load
命令就变成了这样
clang++ -shared -o libffmpeg.so -Wl,-all_load libavcodec.a libavformat.a libswresample.a libavfilter.a libavutil.a libswscale.a -Wl,-noall_load
然后报了一个x86_64什么的错,先不管了,忙别的去了。