编译器版本arm-linux-gcc4.3.3
宿主机 Red Hat 4
编译MPlayer-1.0rc2.tar.bz2之前
需要先生成mp3库,要先编译这3个源码包
libid3tag-0.15.1b.tar
libmad-0.15.1b.tar
zlib-1.2.3.tar
1. 编译zlib-1.2.3.tar
tar xvzf zlib-1.2.3.tar
cd zlib-1.2.3
配置
./configure --prefix=/usr/local/madplay
修改Makefile指定交叉编译器
vi Makefile
CC=arm-linux-gcc
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib
编译
make
安装
make install
2. 编译libid3tag-0.15.1b.tar
tar xvzf libid3tag-0.15.1b.tar
cd libid3tag-0.15.1b.tar/
配置
./configure CC=arm-linux-gcc --host=arm-linux --prefix=/usr/local/madplay CPPFLAGS=-I/usr/local/madplay/include LDFLAGS=-L/usr/local/madplay/lib
编译
make
安装
make install
3. 编译libmad-0.15.1b.tar
步骤与2相同
配置完后修改Makefile
vi Makefile
删除 --fforce-mem
arm-linux-gcc4.3.3不支持--fforce-mem
编译
安装
解压MPlayer-1.0rc2.tar.bz2源码包
tar xvf MPlayer-1.0rc2.tar.bz2
cd MPlayer-1.0rc2.tar
配置
./configure --cc=arm-linux-gcc --host-cc=gcc --enable-cross-compile --target=arm-armv4l-linux --disable-armv6 --enable-static --enable-linux-devfs --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-liba52 --enable-mp3lib --disable-live --disable-armv5te --disable-iconv --charset=noconv --enable-mad --enable-ossaudio --disable-ivtv --enable-libavcodec_a --with-extralibdir=/usr/local/madplay/lib --with-extraincdir=/usr/local/madplay/include
--enable-mp3lib :使用了mp3库文件
--with-extralibdir=/usr/local/madplay/lib :指定mp3库文件位置
--with-extraincdir=/usr/local/madplay/include
:指定mp3头文件位置
编译
make
编译出错处理
armv4l/dsputil_arm_s.S:79:error:selected processor does not support ‘pld[r1]‘
编译器不支持PLD这条指令,只有ARMV5以上才支持
修改dsputil_arm_s.S,在前面添加上:
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
不能识别 intptr_t
这个是arm-linux-gcc4.3.3编译器的问题
把intptr_t 改成 unsigned int
修改libmpeg2/motion_comp_arm_s.S,在前面添加上:
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
undefined reference to `video_out_ivt ’
修改源代码libvo/video_out.c,中101行处添加条件编译
#ifdef HAVE_DXR3 //添加
extern vo_functions_t video_out_dxr3;
#endif //添加
播放无声音问题
[AO OSS] audio_setup: Can‘t open audio device /dev/sound/dsp: No such file or directory
将/dev/dsp软连接到/dev/sound/dsp
mkdir /dev/sound
ln -s /dev/dsp /dev/sound/dsp
复制mplayer到rootfs/usr/bin下
运行
mplayer /home/OP........mp3
mplayer /home/107.avi
在命令中添加 -slave 和 -quiet就可以通过命令设置Mplayer实现相应的功能
MPlayer 移植到 ARM-Linux,布布扣,bubuko.com
原文:http://www.cnblogs.com/cainiaoaixuexi/p/3850581.html