ffmpeg交叉编译遇到的几个坑

问题1:ERROR:srt>=1.3.0 not found using pkg-config

ffmpeg交叉编译遇到的几个坑

问题描述:

无法根据配置生成Makefile文件

原因

查看 ffbuild/config.log文件,发现编译配置使能了libsrt,libsrt需要用到OpenSSL相关动态库文件,未指定库文件,编译时找不到OpenSSL库
ffmpeg交叉编译遇到的几个坑

解决方案

通过–extra-libs 指定相关库文件
ffmpeg交叉编译遇到的几个坑

问题2:"/usr/local/include" is unsafe for cross-compilation

ffmpeg交叉编译遇到的几个坑

问题描述:

编译过程中,一直提示连接不安全

原因

生成的Makefile文件中 指定头文件(.h文件)的路径CFLAGS里包含/usr/local/include。

解决方案

vim 打开编辑 ffbuild/config.mak文件,找到CFLAGS,删除 -I/usr/local/include/

问题3:error:'SRTO STRICTENC’undeclared

ffmpeg交叉编译遇到的几个坑

问题描述:

编译报错SRTO_STRICTENC 未定义, SRTO_SMOOTHER 未定义

原因

在Github上找到了相关问题的讨论https://github.com/Haivision/srt/issues/1382,大致是宏定义名称被重命名了,所以ffmpeg找到对应的项;
ffmpeg交叉编译遇到的几个坑

解决方案

修改libavformat/libsrt.c文件,用新的宏定义名称替换旧的
ffmpeg交叉编译遇到的几个坑