交叉编译ffmpeg并生成ffplay
------------------------------------------------------------------------------------------------------------------------------------------------------------
1、交叉编译SDL库
a:配置参数
./configure --prefix=/usr/local/sdl-arm
--disable-video-qtopia
--disable-video-dummy
--disable-video-fbcon
--disable-video-dga
--disable-arts
--disable-esd
--disable-alsa
--disable-cdrom
--disable-video-x11
--disable-nasm
--target=arm-linux
--host=arm-fsl-linux-gnueabi-
--enable-video-fbcon
--disable-video-directfb
b:编译
make
c:安装
make install
------------------------------------------------------------------------------------------------------------------------------------------------------------
2.交叉编译ffmpeg
a:配置参数
./configure --enable-cross-compile
--target-os=linux
--cross-prefix=arm-fsl-linux-gnueabi-
--cc=arm-fsl-linux-gnueabi-gcc
--enable-shared
--arch=arm
--enable-gpl
--prefix=/usr/local/ffmpeg-arm
--enable-ffplay
--extra-cflags=-I/usr/local/sdl-arm/include/SDL
--extra-ldflags=-L/usr/local/sdl-arm/lib
--extra-libs=-lSDL
b:编译
make
c:安装
make install
------------------------------------------------------------------------------------------------------------------------------------------------------------
(注:由于configure后 SDL support no并且生成的config.mak文件中CONFIG_FFPLAY=yes,HAVE_SDL=yes等都是被注释掉的,所以需要手动修改 config.mak文件,将CONFIG_FFPLAY=yes、HAVE_SDL=yes的注释符号“!”去掉,同时必须手动指定SDL的头文件,库路径,并且-lSDL来链接,需要生成debug 符号时增加--disable-optimizations --disable-mmx --disable-stripping
需要的库:pulseaudio交叉编译, libtool、m4、json、sndfile不交叉编译
)