FFmpeg编译过程错误记录

FFmpeg编译有很多坑,尤其是初学者。在参考了很多个网上版本后终于编译成功了,下面记录几个遇到的问题。

注意:很多网上的编译脚本都不可以使用了,各种原因,比如NDK版本,平台版本等。如果要参考某一篇文章的脚本,最好按照与作者一致的版本进行编译,我就是版本不一致遇到各种编译错误。

1、编译动态库时出现 fatal error: ‘string’ file not found,给出的报错位置如下图
在这里插入图片描述
找了好久都没找到解决办法,因为之前是可以编译成功的,可能是某个地方改变了,后来无意间看到一个回答说是需要让Android NDK支持STL,原文地址。
解决:在Application.mk文件中添加一行 APP_STL := stlport_static
2、C compiler test filed.
这个问题有人说是程序脚本中SYSROOT=${NDK}/platforms/android-8/arch-arm 的android-8 的版本过低导致的,改为android-21即可解决,但是我试过好像不行,感觉是NDK版本跟FFmpeg匹配度不好。我解决的方式是修改NDK版本。遇到问题的时候可以两种都试下。
3、编译时show_help_children方法报错,如下
在这里插入图片描述
解决:把cmdutils.h文件中的void show_help_children(const AVClass *class, int flags);改为void show_help_children(const AVClass *clazz, int flags);可能class是关键字的原因,只要改成其它非关键字就可以。
4、关于exit_program(received_nb_signals ? 255 : main_return_code);
这是main函数返回之前的一句代码,有人建议注释掉,说可能会引起崩溃。我没有注释这一句代码测试过执行完命令后正常确实崩溃了。可以注释掉这一句代码。

以上就是有记录的几个问题,之后遇到的时候再更新。

你可能感兴趣的:(ffmpeg)