移植MPlay到mini2440开发板

一:准备源文件和工具

交叉编译器:arm-linux-gcc-4.4.3(mini2440提供的交叉编译工具);

mad库支持:libmad-0.15.1b.tar.gz

Mplay源文件:MPlayer-1.0rc2.tar.bz2


二:编译mad库

      首先解压mad压缩包 # tar zxvf libmad-0.15.1b.tar.gz

      得到  libmad-0.15.1b

      可以先使用 命令 ./configure --help 查看configure后要加的各个参数所表示的意思。

      我的命令如下

    1.  ./configure --enable-fpm=arm --host=arm-linux --disable-shared \
        --disable-debugging --prefix=/home/xuxiong/madlib\
        CC=arm-linux-gcc

      其中 --prefix为你要 install architecture-independent files in PREFIX

      自己建立文件夹来防止mad编译出来的库和头文件。

   2 执行 make命令

     其中过程会报错:

      cc1: error: unrecognized command line option "-fforce-mem"
     其实这个错误是编译安装 libmad 时候引起的,audacity 包含 libmad
     解决方式是:找到 libmad configure 之后的 Makefile,
     Vim    Makefile
     找到包含"-fforce-mem"字符串,将其删除,就 ok 了
     原因是 gcc 3.4  或者更高版本,已经将其去除了,所以会出现上面的错误

三 编译 mplay

   1. 解压后执行命令:

    ./configure --cc=arm-linux-gcc --host-cc=gcc --target=arm-linux \
    --prefix=/home/xiaogao/mplayer/ --disable-win32dll --disable-dvdread \
    --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --disable-ivtv\
    --enable-mad --enable-libavcodec_a --language=zh_CN \
    --disable-armv5te --disable-armv6 \

    --with-extraincdir=/home/xuxiong/madlib/include  上面库生成的 include 路径
     --with-extralibdir=/home/xuxiong/madlib/lib 上面库生成的 lib 路径

   2.make 

    报错 armv4l/dsputil_arm_s.S:79: Error: selected processor does not support `pld [r1]''
    pld 预读取
   修改源码  libavcodecarmv4ldsputil_arm_s.S, libmpeg2motion_comp_arm_s.S
   在其开始的加入,这段代码意思是定义一个空的 ARM 汇编宏  pld,这样当代码出现 pld 指令,
   就变成一条空指令

   #ifndef HAVE_PLD
  .macro pld reg
  .endm
   #endif

   pld 指令只在 armv5te 以上版本有效,在 2440(armv4l)无效.必须取消掉.


    
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值