移植前需求准备:
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插上耳机聆听吧!

madplay移植的更多相关文章

  1. Madplay移植到mini2440开发板【转】

    本文转载自:https://blog.csdn.net/simanstar/article/details/24035379 madplay交叉编译 交叉编译器:arm-linux-gcc 3.4.1 ...

  2. OK6410移植madplay播放器,王明学learn

    对于ok6410的madplay移植主要包括三部分.声卡驱动移植,播放器的移植,以及alsa库的移植. 一.首先移植声卡驱动以及播放器 ok6410采用WM97系列的声卡芯片,要使得内核支持该驱动,首 ...

  3. [Linux][Madplay播放器移植mini2440(ARM9)]

    Madplay移植到mini2440全过程详解 madplay交叉编译 交叉编译器:arm-linux-gcc 3.4.1PC环境:RedHat-6 注意:最好在root权限下执行以下移植,否则在ma ...

  4. 嵌入式mp3播放器

    分四部分:按键驱动,声卡驱动,Madplay播放器移植,MP3主播放器处理 按键1:播放,按键2:停止,按键3:上一曲,按键4:下一曲 UA1341内核自带声卡驱动 .解压内核: tar zxvf l ...

  5. 基于tiny6410的madplay播放器的移植

    在移植madplay之前需要先将所需要的库移植到开发板的文件系统中. 现在每个解压后的文件夹中创建一个文件夹 zlib-1.1.4.tar.gz 解压:tar xvzf  zlib-1.1.4.tar ...

  6. 开源mp3播放器--madplay 编译和移植 简记

    madplay是一款开源的mp3播放器. http://madplay.sourcearchive.com/ 下面简单记录一下madplay的编译与移植到ARM开发板上的过程 一.编译x86版本的ma ...

  7. 十七、S3C2440 音频解码芯片WM8976声卡驱动移植、madplay测试

    学习目标:1. WM9876接口和工作原理:2. WM9876驱动移植:3. WM9876应用测试:4. 问题总结 1. WM9876接口和工作原理  本节使用了JZ2440开发板移植WM9876驱动 ...

  8. 移植madplay到jz2440【学习笔记】

    平台:jz2440 作者:庄泽彬(欢迎转载,请注明作者) 说明:韦东山一期视频学习笔记 交叉编译工具:arm-linux-gcc (GCC) 3.4.5 PC环境:ubuntu16.04 一.移植ma ...

  9. 1-1. OSS/ALSA 声卡的驱动与配置和 Madplay 嵌入式播放器的移植

    报警子系统 一. OSS/ALSA 声卡的驱动与配置 声卡驱动中传统的OSS构架在02年被收购后即不开源,并且OSS的混音效果不好->因此ALSA构架孕育而生. ALSA(高级音频构架,目前应用 ...

随机推荐

  1. mysql存储过程详解实例

    mysql存储过程详解 1.      存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL ...

  2. OSI七层和TCP/IP四层的关系、TCP与UDP、HTTP、Socket

    HTTP(应用层协议):超文本传输协议,HTTP协议是建立在TCP协议之上的一种应用. HTTP协议详细解释 2Http详解 TCP(面向连接的传输层协议):transmission control ...

  3. (转)不看绝对后悔的Linux三剑客之sed实战精讲

    不看绝对后悔的Linux三剑客之sed实战精讲 原文:http://blog.51cto.com/hujiangtao/1923718 二.Linux三剑客之sed命令精讲 1,前言 我们都知道,在L ...

  4. CentOS6.5安装配置详解

    1. 环境要求 VMWare软件: CentOS6.5对应的iso镜像文件(位数对应个人计算机位数). 2. 安装步骤 打开VMWare,文件->新建虚拟机(以下几步默认跳过即可) 命名和选择安 ...

  5. 每天学一点ubuntu指令

    2017-03-06apt-get | dpkg -i | apt-cache | add-apt-repository ppa源 | dpkg -S一.apt 给Ubuntu安装软件的一种命令方式a ...

  6. 《C#高效编程》读书笔记10-使用可选参数减少方法重载数量

    C#现在支持调用者一方使用具名参数(named parameter).类型中的名称也成为了公有接口的一部分.修改公有参数名称将有可能破坏掉调用者的代码. public void SetName(str ...

  7. $.ajax和$.load的区别

    http://lib.csdn.net/article/jquery/35614?knId=646

  8. servlet和jsp存值和取值的方式

    在servlet和jsp中存值和取值的方式由两种 1种是setAttribute和getAttribute 2种是c:forEach

  9. Java调用webservice接口方法(SOAP message、xfire、axis)

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

  10. iOS 基础笔试题

    参考:https://www.jianshu.com/p/1d3496bc5bda 1.#import 跟#include.@class有什么区别?#import<> 跟 #import& ...