madplay移植
移植前需求准备:
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移植的更多相关文章
- Madplay移植到mini2440开发板【转】
本文转载自:https://blog.csdn.net/simanstar/article/details/24035379 madplay交叉编译 交叉编译器:arm-linux-gcc 3.4.1 ...
- OK6410移植madplay播放器,王明学learn
对于ok6410的madplay移植主要包括三部分.声卡驱动移植,播放器的移植,以及alsa库的移植. 一.首先移植声卡驱动以及播放器 ok6410采用WM97系列的声卡芯片,要使得内核支持该驱动,首 ...
- [Linux][Madplay播放器移植mini2440(ARM9)]
Madplay移植到mini2440全过程详解 madplay交叉编译 交叉编译器:arm-linux-gcc 3.4.1PC环境:RedHat-6 注意:最好在root权限下执行以下移植,否则在ma ...
- 嵌入式mp3播放器
分四部分:按键驱动,声卡驱动,Madplay播放器移植,MP3主播放器处理 按键1:播放,按键2:停止,按键3:上一曲,按键4:下一曲 UA1341内核自带声卡驱动 .解压内核: tar zxvf l ...
- 基于tiny6410的madplay播放器的移植
在移植madplay之前需要先将所需要的库移植到开发板的文件系统中. 现在每个解压后的文件夹中创建一个文件夹 zlib-1.1.4.tar.gz 解压:tar xvzf zlib-1.1.4.tar ...
- 开源mp3播放器--madplay 编译和移植 简记
madplay是一款开源的mp3播放器. http://madplay.sourcearchive.com/ 下面简单记录一下madplay的编译与移植到ARM开发板上的过程 一.编译x86版本的ma ...
- 十七、S3C2440 音频解码芯片WM8976声卡驱动移植、madplay测试
学习目标:1. WM9876接口和工作原理:2. WM9876驱动移植:3. WM9876应用测试:4. 问题总结 1. WM9876接口和工作原理 本节使用了JZ2440开发板移植WM9876驱动 ...
- 移植madplay到jz2440【学习笔记】
平台:jz2440 作者:庄泽彬(欢迎转载,请注明作者) 说明:韦东山一期视频学习笔记 交叉编译工具:arm-linux-gcc (GCC) 3.4.5 PC环境:ubuntu16.04 一.移植ma ...
- 1-1. OSS/ALSA 声卡的驱动与配置和 Madplay 嵌入式播放器的移植
报警子系统 一. OSS/ALSA 声卡的驱动与配置 声卡驱动中传统的OSS构架在02年被收购后即不开源,并且OSS的混音效果不好->因此ALSA构架孕育而生. ALSA(高级音频构架,目前应用 ...
随机推荐
- Codeforces Round #129 (Div. 2) B
Description The Little Elephant loves sortings. He has an array a consisting of n integers. Let's nu ...
- wms-springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- LeetCode 232 Implement Queue using Stacks 两个栈实现队列
class MyQueue { public: /** Initialize your data structure here. */ MyQueue() { } /** Push element x ...
- 机器学习框架ML.NET学习笔记【4】多元分类之手写数字识别
一.问题与解决方案 通过多元分类算法进行手写数字识别,手写数字的图片分辨率为8*8的灰度图片.已经预先进行过处理,读取了各像素点的灰度值,并进行了标记. 其中第0列是序号(不参与运算).1-64列是像 ...
- Maven的学习资料收集--(三)使用Maven构建Web项目
新建Maven项目 File - New - Other 选择Maven Project 单击Next 保持默认即可单击Next 选择Archetype为 web app单击Next 输入一些必要信息 ...
- Day1下午
T1 暴力50分 排A和B X,不用考虑X 用数组80分, 权值线段树.平衡树100, 一个函数? T2 打表 dp logn+1,+ 搜索,dp? txt..... T3 30分暴力和尽量均 ...
- swift第一课快速体验playground
最近听说苹果要大力推行swift语言,所以我必须要赶快好好学一学,今天做第一个就遇到问题. 在Xcode7.2欢迎界面,选中创建第一个,我们一般都是默认创建第二个. 创建完后,出现问题了,提示如下: ...
- hibernate课程 初探单表映射3-3 对象类型
本节简介: 1 简介对象类型(重点是音视频blob类型) 2 demo(对图片的写入数据库与读取) 1 简介对象类型 映射类型 java类型 标准sql类型 mysql类型 oracle类型 bina ...
- FusionCharts使用JavaScript渲染图表(不用Flash)
FusionCharts可以让用户只使用JavaScript建立图表(而不是使用Flash),只需要添加另一行代码,如下所示: FusionCharts.setCurrentRenderer('jav ...
- 报错:'byte' does not name a type
这个错误是因为你在.cpp/.h中使用 byte 这个类型,把他修改成int就ok了