madplay播放器移植文档_第1页
madplay播放器移植文档_第2页
madplay播放器移植文档_第3页
madplay播放器移植文档_第4页
madplay播放器移植文档_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MP3音乐播放器移植 文档编号:MP3_ 文档版本:V1.0 发布日期:2016-06-16目录1 madplay音乐播放器移植11.1 madplay移植环境11.2 准备源码包11.3 搭建madplay11.3.1 构建目录11.3.2 编译zlib-1.1.411.3.3 编译libid3tag21.3.4 编译libmad21.3.5 编译madplay21.3.6 拷贝所需动态库31.3.7 执行madplay程序31 madplay音乐播放器移植1.1 madplay移植环境madplay版本:madplay-0.15.2交叉编译器版本:arm-linux-gcc 4.4.6操作

2、系统平台:Linux Ubuntu12.04开发板平台:三星S5PV2101.2 准备源码包Madplay-0.15.2b.tar.gzlibmad-0.15.1b.tar.gzlibid3tag-0.15.1b.tar.gzzlib-1.1.4.tar.gz1.3 搭建madplay1.3.1 构建目录首先建立一个mp3文件夹,进入到mp3文件夹后再建立两个文件夹,一个存放源码,一个存放安装文件。在home下,mkdir两个文件夹:madplay-src、madplay。依次解压四个源码包到madplay目录下:tar zxvf XXXXXX1.3.2 编译zlib-1.1.4首先配置con

3、figure文件:#./configure -prefix=/home/tarena/mp3/madplay修改MakefileCC=arm-linux-gccLDSHARED=arm-linux-gccCPP=arm-linux-gcc-EAR=arm-linux-ar rcRANLIB=arm-linux-ranlib修改之后编译:#make#make install1.3.3 编译libid3tag#./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/tarena/mp3/madplay CPPFLAGS= -I/home

4、/tarena/mp3/madplay/include LDFLAGS= -L/home/tarena/mp3/madplay/lib#make#make install注:/usr/local/lib/libz.a: could not read symbols: Bad value/usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against a local symbol can not be used when making a shared object; recompile with -fPIC/

5、usr/local/lib/libz.a: could not read symbols: Bad value一般是64 位 电脑才会出现。解决方法如下:cd zlib-1.2.3 /进入zlib目录# CFLAGS=-O3 -fPIC ./configure -prefix=/usr/local/zlib/# make# make install# make clear1.3.4 编译libmad#./configure CC=arm-linux-gcc -host=arm-linux -prefix=/home/tarena/mp3/madplay CPPFLAGS= -I/home/ta

6、rena/mp3/madplay/include LDFLAGS= -L/home/tarena/mp3/madplay/lib#make注:由于使用的是高版本的arm-linux-gcc 4.4.6编译器,make时出现了”ccl:error:unrecognized command line option “-fforce-mem”错误,这是因为这个高版本的gcc没有”-fforce-mem”参数,解决的办法是在libmad文件中的Makefile里面查找”-fforce-mem”,将其删除即可。再次 #make #make install1.3.5 编译madplay#./configu

7、re CC=arm-linux-gcc -host=arm-linux -prefix=/home/tarena/mp3/madplay CPPFLAGS= -I/home/tarena/mp3/madplay/include LDFLAGS= -L/home/tarena/mp3/madplay/lib#make到这就结束了,可以不用make install。1.3.6 拷贝所需动态库在madplay-0.15.2b目录下生成madplay的可执行文件,查看一下需要的动态库:#arm-linux-readelf -d madplay输出运行时所需的动态库:libmad.so.0、libid3

8、tag.so.0、libm.so.6、libc.so.6、libz.so.1。将后libm.so.6、libc.so.6从/usr/lib拷贝到根文件系统的/usr/lib目录下(先查看,如果已经有了则不需要);libmad.so.0、libid3tag.so.0这两个文件是在/madplay/lib/下生成的,把这两个文件也拷贝到/usr/lib下。最后编译出来的mdaplay 在开发板上运行时出现如下所示的提示:madplay: error while loading shared libraries:libz.so.1: cannot open shared object file:No

9、 such file or directory这是由于libz.so.1库的问题,目前没有发现有什么zlib-1.1.4目录下的libz.so.1编译出错的地方,现在用的是交叉编译器路径下的lib里边的libz.so.1。1.3.7 执行madplay程序将madplay复制到根文件系统/usr/bin目录下,将一个MP3文件也放在某一个目录下,在开发板上执行madplay程序。#madplay XXX.mp3MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al. s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66 Title: XX Artist: XXX Album: XXXX Track: XX Comment: XXXXXXXXX s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66 如果出现这个信息,应该就没问题了,可以听歌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论