为了在gm8120上解码mp3编码的文件,将libmad移植到gm8120开发板上,先用madplay试试。
原文参考:http://hi.baidu.com/liudongling609/blog/item/78d4df22fc5821188b82a151.html
移植libmad和madplay到gm8120开发板上
2010-10-16 22:54
操作系统 linux2.4
madplay版本:
madplay-0.15.2
交叉编译器版本:
arm-linux-gcc 3.4.1.
开发板平台:
qq2440
准备源码包:(在光盘资料的源码包/其他软件源码/madplay-src中)
madplay-0.15.2b.tar.gz libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz zlib-1.1.4.tar.gz
建立两个文件夹,一个存放源码,一个存放安装文件
在home下,mkdir两个文件夹:madplay-src madplay
依次解压四个源码包到madplay-src目录下: tar xzvf XXXXXXXXX
1. 编译zlib-1.1.4
首先配置configure 文件
#./configure --prefix=/home/madplay
修改Makefile
CC=arm-linux-gcc
AR=arm-linux-ar rc
RANLIB=arm-linux-ranlib
#make
#make install
2. 编译libid3tag
#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
2
#make
#make install
3. 编译libmad
#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
#make
#make install
4. 编译madplay
#./configure CC=arm-linux-gcc --host=arm-linux --prefix=/home/madplay CPPFLAGS=-I/home/madplay/include LDFLAGS=-L/home/madplay/lib
#make
到这就结束了,可以不用make install
在madplay-0.15.2b目录下生成madplay的可执行文件,查看一下需要的动态库
#arm-linux-readelf -d madplay
输出运行时所需的动态库:libmad.so.0, libid3tag.so.0, libm.so.6,libc.so.6
将后两个文件从交叉编译lib库目录拷贝到根文件系统的开发板/lib目录下(这两个文件时交叉编译链接库所用到的文件),前两个文件是在/madplay/lib/下生成的,把这两个文件也拷贝到/lib下。
将madplay复制到根文件系统/usr/bin目录下,将一个MP3文件也放在某一目录下,在开发板上执行madplay程序
#madplay XXX.mp3