移植前需求准备:
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. AnkhSVN使用手册

    (一) 安装: Subversion客户端安装------AnkhSVN AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交.更新.添加文件,而不用在命令行或资源管理 ...

  2. DbUtils(一) 结果集概览

          记录自己对DbUtils的学习和了解 我感觉Dbutils用的最多的就是对查询结果集的处理,就以这个开始了解Dbutils库. 查看源代码发现结果集的转换主要用于query,insert, ...

  3. Ubuntu系统下同时打开多个终端窗口的软件

    sudo apt-get install Terminator

  4. (一)Redis简介和安装

    1       Redis介绍 1.1      什么是NoSql 为了解决高并发.高可扩展.高可用.大数据存储问题而产生的数据库解决方案,就是NoSql数据库. NoSQL,泛指非关系型的数据库,N ...

  5. IE6/7下同级只有一个元素浮动,会换行问题

    .myDiv { background-color: red; width: 200px; height: 200px; padding: 10px; } .div1 { background-col ...

  6. File 元素 都有files属性

    File 元素 都有files属性 必须有 name 才能传到后台 Html data-* 存储string 值 Jquery data() 可以存储对象 ,但是执行后页面看不到,可以取到     P ...

  7. java-类的定义和用法

    1.类的定义 public class Human{ }//每个源文件必须也只能有一个public类 class boy{ }//可以定义多个class类 class girl{ } 上面的类定义好后 ...

  8. 零基础逆向工程27_Win32_01_宽字符_MessageBox_win32调试输出

    1 多字节字符 ASCII码表:0 ~ 2^7-1 扩展ASCII码表:2^7 ~ 2^8-1 什么是GB2312:1980年,两个字节存储一个汉字:不通用,别国会有乱码. UCICODE:只有一个字 ...

  9. Invoke 和 BeginInvoke 的区别(转发)

    在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate. 一.为什么Control类提供了Invoke和BeginInvoke机制? 关于这个问题的最主要的原因已经是do ...

  10. Mantis-1.3.3 (Ubuntu 16.04)

    平台: Ubuntu 类型: 虚拟机镜像 软件包: mantis-1.3.3 bug tracking commercial devops mantis open-source project man ...