Ubuntu x64下交叉编译ffmpeg、sdl2到目标架构为aarch64架构的系统(生成ffmpeg、ffprobe、ffplay)

一、编译SDL2-2.0.9

(1),

./configure --prefix=/home/z/Desktop/sdl2 --enable-shared=yes --enable-nasm=no --enable-audio=no --enable-oss=no --enable-alsa=no --enable-alsa-shared=no --enable-pulseaudio=no --enable-pulseaudio-shared=no --enable-arts=no --enable-arts-shared=no --enable-joystick=no --enable-cdrom=no --enable-threads=yes --enable-timers=yes --enable-endian=yes --enable-file=yes --enable-esd=no --enable-arts=no --enable-nas=no --enable-diskaudio=no --enable-mintaudio=no --enable-dummyaudio=no --enable-altivec=no --enable-video-x11=no --enable-dga=no --enable-video-x11-vm=no --enable-video-x11-xme=no --enable-video-dga=no --enable-video-photon=no --enable-video-directfb=no --enable-video-ps2gs=no --enable-video-xbios=no --enable-video-gem=no --enable-video-opengl=no --enable-pth=no --enable-pthreads=yes --enable-pthread-sem=no --enable-input-events=no --build=i386-linux --host=aarch64-linux-gnu CC=/home/z/Desktop/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc AR=/home/z/Desktop/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc-ar --enable-input-tslib=yes CPPFLASS="-I/home/z/Desktop/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/include" LDFAGS="-L/home/z/Desktop/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/lib"

(2),

make -j4

(3),

make install

二、编译ffmpeg 4.2.1

(1),

./configure --enable-cross-compile --target-os=linux --arch=aarch64 --cross-prefix=/home/z/Desktop/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- --cc=/home/z/Desktop/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc --cxx=/home/z/Desktop/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++ --prefix=/home/z/Desktop/ffmpeg4.2.1_linux_arm64 --disable-asm --enable-parsers --disable-decoders --enable-decoder=h264 --enable-decoder=aac --disable-debug --enable-ffmpeg --enable-shared --disable-static --disable-stripping --disable-doc --enable-ffplay --extra-cflags=-I/home/z/Desktop/sdl2/include/SDL2 --extra-ldflags=-L/home/z/Desktop/sdl2/lib/ --extra-libs=-ldl --extra-libs=-lSDL2

(2),

执行configure后编辑ffbuild目录下的config.mak,

将!CONFIG_FFPLAY=yes改为CONFIG_FFPLAY=yes

(3),

make -j4

(4),

make install

执行以上步骤后,生成aarch64版的ffmpeg、ffprobe、ffplay

相关推荐
荒--1 天前
Ubuntu软件包查询,弹框下载文件
运维·服务器·ubuntu
闲云自留地1 天前
CentOS 搬 Ubuntu 24.04:yum 变 apt、防火墙、SELinux、root 全差异避坑
linux·ubuntu·centos
xiaobobo33301 天前
Ubuntu 26.04环境中如何使用中文man手册以及man手册默认中文显示
ubuntu·中文man手册·man手册默认中文显示·简化man·cheat
菜菜的院子1 天前
WSL2 运行 Ubuntu 26.04 完整 GNOME 桌面(WSLg Wayland)
linux·运维·ubuntu·wsl
KIDULT°1 天前
Kubeadm 部署 Kubernetes v1.30.2 实战:Ubuntu24.04 三节点集群 + 排坑记录
ubuntu·云原生·容器·kubernetes·k8s
xiaobobo33301 天前
man手册的格式、共性、命令
ubuntu·man手册结构·man手册共性·man手册命令
Happy_Sharing1 天前
Windows虚拟机安装ubuntu后,如何在虚拟机Ubuntu系统中访问Windows文件夹
linux·运维·ubuntu
闲云自留地1 天前
从零造一台 Ubuntu 24.04:虚拟机、装系统、配 IP 到 root 远程登录一篇通
数据库·tcp/ip·ubuntu
xiaobobo33301 天前
Ubuntu 26.04环境下使用vim软件编辑文档的一些不常用用法
ubuntu·vim常用用法
我先去打把游戏先2 天前
NimBLE是什么-ESP32蓝牙协议栈详解
单片机·嵌入式硬件·ubuntu