madplay移植

移植前需求准备:
    a. 源码包:
        1. libid3tag-0.15.1b.tar.gz
        2. libmad-0.15.1b.tar.gz
        3. madplay-0.15.2b.tar.gz
        4. zlib-1.2.3.tar.gz(前三个源码包都依赖于这个包)

    b.交叉编译工具链:
        1. arm-linux-gcc-4.3.2

移植过程:
    1. 将以上四个源码包拷贝到一个文件夹下(读者拷贝到madplay目录下)
       ,然后分别解压(tar -xzvf xxxxxx.tar.gz)。

    2. 进入源码包zlib-1.2.3.tar.gz解压后的目录下:
       a.
         ./configure --prefix=/root/madplay/zlib
       b.
           设置全局变量:
             export AR=arm-linux-ar
             export CC=arm-linux-gcc
             export RANLIB=arm-linux-ranlib

       c.
          make
       d.
          make install

    3. 进入源码包libid3tag-0.15.1b.tar.gz解压后的目录下:
       a.
         ./configure --prefix=/root/madplay/libid3tag
                     --host=arm-linux-gcc
                     CC=arm-linux
                     CPPFLAGS=-I/root/madplay/zlib/include
                     LDFLAGS=-L/root/madplay/zlib/lib   
       b.
         make(编译)
       c.
         make install  (安装)

    4. 进入源码包libmad-0.15.1b.tar.gz解压后的目录下:
       a.
          ./configure --prefix=/root/madplay/libmad
                     --host=arm-linux-gcc
                     CC=arm-linux
                     CPPFLAGS=-I/root/madplay/zlib/include
                     LDFLAGS=-L/root/madplay/zlib/lib   
       b. 
          make
         (注意: 如果出现-fforce-mem问题,请编辑目录下的Makefile文件,将-fforce-mem 字段删除.)
       c.
          make install

    5. 进入源码包madplay-0.15.2b.tar.gz解压后的目录下:
       madplay的编译依赖于libid3tag-0.15.1b.tar.gz,
       libmad-0.15.1b.tar.gz
       所以使用命令:
       cp /root/madplay/libid3tag/include/* /root/madplay/zlib/include/
       cp /root/madplay/libid3tag/lib/* /root/madplay/zlib/lib/

        cp /root/madplay/libmad/include/* /root/madplay/zlib/include/
       cp /root/madplay/libmad/lib/* /root/madplay/zlib/lib/

       a.
           ./configure --host=arm-linux-gcc
                     CC=arm-linux
                     CPPFLAGS=-I/root/madplay/zlib/include
                     LDFLAGS=-L/root/madplay/zlib/lib   

       b.
           make
           (注意: 无需make install)此时madplay可执行文件在当前目录下

    6. 使用命令arm-linux-readelf -d madplay查看可执行文件madplay所依赖的动态库。
     libid3tag.so.0  libmad.so.0  libc.so.6  libm.so.6

    前两个我们刚刚编译好了,后两个开发板的lib目录下一般都有。
    将libid3tag.so.0  libmad.so.0 madplay 拷贝到开发板的lib目录下
    将一首MP3拷贝到lib目录下使用 madplay 1.mp3插上耳机聆听吧!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章