Chinaunix首页 | 论坛 | 博客
  • 博客访问: 397957
  • 博文数量: 48
  • 博客积分: 1628
  • 博客等级: 上尉
  • 技术积分: 482
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-30 14:20
文章分类

全部博文(48)

文章存档

2013年(6)

2012年(14)

2011年(6)

2010年(5)

2009年(17)

我的朋友

分类: 嵌入式

2009-10-21 14:18:13

文件: madplay-arm.tar.gz
大小: 1878KB
下载: 下载
移植madplays3c2410

1. 移植madplay前的准备。
madplay的移植需要以下的几个包:madplay-0.15.2b.tar.gzlibmad-0.15.1b.tar.gz
libid3tag-0.15.1b.tar.gz 和 zlib-1.1.4.tar.gz。其中前面的三个包可以在下载,后一个包可以在中找到。
为了编译这个播放器,还需要一个交叉编译器,我用的是arm-linux-gcc 3.4.1

2. 开始编译
首先建立存放库文件的目录,我的是在/media/ranbe/install目录下 

2.1. 用交叉编译工具编译zlib,并且把库生成到交叉编译环境的库目录下,我把它放到了/media/ranbe/install目录下。

tar xzvf zlib-1.2.3.tar.gz 

编译zlib-1.2.3。进入zlib-1.2.3目录,输入

./configure --prefix=/media/ranbe/install
 再修改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 ,编译好之后就可以在上面prefix指定的目录下的lib目录下找到libz.a这个库。

(注释:./configure --prefix=/media/ranbe/install   生成的库文件放到到交叉编译环境的库目录下)
   2.2. 编译libid3tag

解压,然后进入其目录输入
  ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --prefix=/media/ranbe/install  --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/media/ranbe/install/include LDFLAGS=-L/media/ranbe/install/lib
  其中,--disable-shared --enable-static是指定为静态编译。不过我发现这样并不能够进行编译。至于如何进行表态编译,我将在下面中进行介绍。
  make, make install
2.3. 编译libmad

解压,然后进入其目录输入
  ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --prefix=/media/ranbe/install  --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/media/ranbe/install/include LDFLAGS=-L/media/ranbe/install/lib
  然后,make ,make install
2.4. 编译madplay

解压,然后进入其目录输入
  ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --prefix=/media/ranbe/install  --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/media/ranbe/install/include LDFLAGS=-L/media/ranbe/install/lib
然后,输入make 

再输入

/usr/local/arm/3.4.1/bin/arm-linux-gcc -Wall -O2 -fomit--pointer -o madplay madplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o rgain.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_oss.o  -L/media/ranbe/install/lib /media/ranbe/install/lib/libmad.a  /media/ranbe/install/lib/libid3tag.a -lz -lm -static

编译完成后,查看了一下madplay这个可执行文件的大小madplay文件的大小, 820K!!!,太好了,我知道可能是成功了,就把它下载到板子中,敲入:
$> ./madplay 1.mp3

美妙的音乐响起来了,再加个QT就是MP3了!

另外为了方便大家我还写了个脚本。还有什么不懂得可以访问

阅读(2085) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~