Linux aarch64-linux-gnu-交叉编译x264、ffmpeg、opencv并移植

Linux aarch64-linux-gnu-交叉编译x264、ffmpeg、opencv并移植

前沿:
1. 在一台ubuntu20.4系统上已经安装aarch64-linux-gnu交叉编译器。
2. 所有库编译引用路径应放置在移植不受影响的路径下,例如 /opt/ 路径下,任意linux平台均可存在或直接创建即可,或将x264ffmpeg放入opencv编译的指定路径下,本次编译移植过程全部放在 /opt/ 路径下。
3. 此次交叉编译平台的内核版本为 Linux ubuntu 5.15.0-105-generic,所以在移植到 arm64 平台的内核版本应大于等于 Linux ubuntu 5.15.0-105-generic(不同的内核版本适配不同的 gcc/g++、cmake 版本)。

安装依赖

sudo apt --fix-broken install
# 安装gcc和g++
sudo apt-get install gcc-aarch64-linux-gnu
sudo apt-get install g++-aarch64-linux-gnu

1. x264

  1. 源码下载:x264
  2. 放置在 /opt/ 路径下解压之后,执行命令安装编译,将编译的库放置在./x264/tmp路径下:
cd ./x264/
./configure --host=aarch64-linux-gnu --prefix=$PWD/tmp --enable-shared --disable-asm
vi config.mak # 修改内容以支持交叉编译

CC=aarch64-linux-gnu-gcc
LD=aarch64-linux-gnu-gcc -o
AR=aarch64-linux-gnu-gcc-ar rc
RANLIB=aarch64-linux-gnu-gcc-ranlib
STRIP=aarch64-linux-gnu-strip

make && make install   # 生成了bin/include/lib三个文件夹及其内容

2. ffmpeg

  1. 源码下载:ffmpeg-4.1.3

  2. 放置在 /opt/ 路径下解压之后,执行命令安装编译,将编译的库放置在./ffmpeg-4.1.3/tmp路径下:

cd ./ffmpeg-4.1.3/

./configure --enable-cross-compile --cross-prefix=aarch64-linux-gnu- \
 --arch=arm64 --target-os=linux --cc=aarch64-linux-gnu-gcc --prefix=$PWD/tmp \
 --enable-shared --enable-pic --disable-static --enable-gpl --enable-nonfree \
 --enable-pthreads --enable-ffmpeg --disable-ffplay --enable-swscale \
 --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-stripping \
 --enable-
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值