移植madplay到FL2440

参考http://bbs.witech.com.cn/viewthread.php?tid=1185&highlight=madplay成功移植了madplay到我的开发板上,记录下来.

 

宿主机:ubuntu10.4

目标机:FL2440

交叉编译器:arm-linux-3.4.1
时间:2010.9.16

源码包:madplay-0.15.2b.tar.gz,libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz 和 zlib-1.1.4.tar.gz
下载地址:
http://www.gzip.org/zlib/zlib-1.1.4.tar.gz
http://cdnetworks-kr-2.dl.sourceforge.net/project/mad/libid3tag/0.15.1b/libid3tag-0.15.1b.tar.gz
http://cdnetworks-kr-1.dl.sourceforge.net/project/mad/libmad/0.15.1b/libmad-0.15.1b.tar.gz
http://cdnetworks-kr-1.dl.sourceforge.net/project/mad/madplay/0.15.2b/madplay-0.15.2b.tar.gz

建立文件夹:
mkdir /madplay
mkdir /madplay/mad

将源码包放到/madplay目录下解压

1.编译zlib-1.1.4
cd /madplay/zlib-1.1.4
./configure --prefix=/madplay/mad
修改Makefile
CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc
AR=/usr/local/arm/3.4.1/bin/arm-linux-ar rc
RANLIB=/usr/local/arm/3.4.1/bin/arm-linux-ranlib

make
make install

2.编译libid3tag
cd /madplay/libid3tag-0.15.1b
./configure --host=arm-linux --prefix=/madplay/mad --disable-shared CPPFLAGS=-I/madplay/mad/include LDFLAGS=-L/madplay/mad/lib CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc

make
make install

3.编译libmad
cd /madplay/libmad-0.15.1b
./configure --host=arm-linux --prefix=/madplay/mad --disable-shared CPPFLAGS=-I/madplay/mad/include LDFLAGS=-L/madplay/mad/lib CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc

make
make install

4.编译madplay
cd /madplay/madplay-0.15.2b
./configure --host=arm-linux --prefix=/madplay/mad --disable-shared --enable-static --disable-nls CPPFLAGS=-I/madplay/mad/include LDFLAGS=-L/madplay/mad/lib CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc

make
make install

生成的程序在/madplay/mad/bin目录下的madplay

在开发板下 ./madplay xxx.mp3就可以播放音乐了.

相关知识:
  MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。LIBMAD 提供 24-bit 的 PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。在 libmad 的源代码文件目录下的 mad.h 文件中,可以看到绝大部分该库的数据结构和 API 等。
 zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表,使用DEFLATE算法.
 libid3tag mp3的编程类库

你可能感兴趣的:(数据结构,算法,api,ubuntu,编译器,layer)