转自迅为开发板论坛:http://www.topeetboard.com 一、 编译环境及库文件 linux环境:ubuntu12.04 交叉编译:4.3.2 arm板子:iTOP4412开发板 库文件: libmad-0.15.1 MPlayer-1.0rc2 1. 编译 libmad (1) 首先配置 configure 文件 # ./configure CC=arm-linux-gcc --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/libmad_install (2) 完成之后找到Makefile并删除124行(可能是不记得了)“--fforce-mem”就OK 了, 原因是gcc 4.4.3已经将其去除了,所以会出现上面的错误 (3)make (4)make install 2.编译 Mpalyer (1)首先配置 configure 文件 # #./configure --cc=/usr/local/arm/4.3.2/bin/arm-linux-gcc --target=arm-linux --enable-static --prefix=/usr/local/arm/Mplayer1.2_install --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --disable-armv5te --disable-armv6 --with-extraincdir=/usr/local/arm/libmad_install/include/ --with-extralibdir=/usr/local/arm/libmad_install/lib/ --host-cc=gcc --enable-ossaudio --disable-png --disable-ivtv (2) 修改文件: 在MPlayer-1.0rc2/libmpeg2/motion_comp_arm_s.S文件 和MPlayer-1.0rc2/libavcodec/armv4l/dsputil_arm_s.S文件的开始处写入 #vim libmpeg2/motion_comp_arm_s.S //24行开始 内容: #ifndef HAVE_PLD .macro pld reg .endm #vim libavcodec/armv4l/dsputil_arm_s.S //21行开始 内容: #ifndef HAVE_PLD .macro pld reg .endm (3) 修改Makefile 在Makefile的前面(95行)加入: INSTALLSTRIP := # (将其置为空即可) (4) make (5) make install 2. 测试 我提供了两个测试代码是移植的友善之臂的两个项目(本来是qt4的我修改了以下qt5可以编译构建) 1. 广告机:adsdemo 2. 播放器:myplayer 运行:将编译好的程序和mplayer拷贝到开发板/bin/目录: ./adsdemo –qws & 注意:示例程序运行会有写问题可能是内核里要修改选项,大家可以百度以下. 我只提供机制不提供策略,仅供参考.
|