交叉编译链:arm-linux-gnueabihf-gcc
安装环境:ubuntu18.04
一、安装依赖包
sudo apt-get install yasm
sudo apt-get install libx264-dev
sudo apt-get install libfaac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install libtheora-dev
sudo apt-get install libxvidcore-dev
sudo apt-get install libxext-dev
sudo apt-get install libxfixes-dev
二、下载
ffmpeg源码:Download FFmpeg
三、解压配置
tar -zxvf ffmpeg-4.0.4.tar.gz
cd ffmpeg-4.0.4/
之后就需要进行configure了,configure指令可参靠configure --help 自行填写
./configure --prefix=./install_arm --enable-cross-compile --target-os=linux --strip=arm-linux-gnueabihf-strip --cc=arm-linux-gnueabihf-gcc --enable-shared --enable-static --disable-doc --cpu=cortex-a7 --arch=arm32
prefix: 编译好之后,makeinstall的目标目录
enable-cross-compile:使能交叉编译
target-os:目标系统
cross-prefix=交叉编译工具链路径
cc:交叉编译工具
cpu:cpu名称
arch=板子类型(32或64,可不指定)
四、编译安装
make -j8
make install
五、遇到的编译错误
strip错误:
as: unrecognized option '--64'
使用type strip查看strip路径,发现使用的是/usr/bin/strip,这个是x86系统本身的,需要指定strip,configure的时候添加--strip选项“--strip=arm-linux-gnueabihf-strip”
编译“doc/print_options.c”错误:
configure的时候添加--strip选项“--disable-doc”,关闭doc的编译