adplayer移植【转】

news/2024/7/7 8:11:01

本文转载自:https://blog.csdn.net/qq361294382/article/details/50525412

这两天做madplayer移植,由于是刚装的ubuntu14.04,所以有好多库没装,还有其它未配置起来的地方,搞起来有几个问题,不过组后按着教程一步一步都解决了。

首先需要准备的安装包如下:

madplay-0.15.2b.tar.gz

libmad-0.15.1b.tar.gz
libid3tag-0.15.1b.tar.gz 

zlib-1.1.4.tar.gz

前三个包地址:http://sourceforge.net/project/showfiles.php?group_id=12349

第四个包zlib地址:http://www.gzip.org/zlib/zlib-1.1.4.tar.gz中找到。

我的所有库和头文件都安装在目录:/work/drivers_and_test/21th_sound/app/tmp里面,用到的4个包都解压在/work/drivers_and_test/21th_sound/app/目录下,可以自己根据自己需要建立自己的安装目录。

1.安装zlib

tar xvzf zlib-1.2.5.tar.gz 
cd zlib-1.2.3.tar.gz

 

./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp,生成Makefile文件,

再修改makefile文件,添加自己系统中gcc所在的目录,有的不需要修改:
CC=/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-gcc
AR=/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-ar rcs
RANLIB=/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-ranlib

注:如果之前编译过,则先要把上次编译的结果清除:make distclean

接着 make
然后make install
编译好之后就可以在上面prefix指定的目录/work/drivers_and_test/21th_sound/app/tmp下的lib目录下找到libz.a这个库。

2.编译libid3tag

在libid3tag目录下执行以下操作就可以安装libid3tag库

./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp CPPFLAGS=-I/work/drivers_and_test/21th_sound/app/tmp/include LDFLAGS=-L/work/drivers_and_test/21th_sound/app/tmp/lib
make 
make install

解释:CC后 的参数为交叉编译器的绝对路径,--prefix后指定的是安装目录,CPPFLAGS、LDFLAGS
后的-I、-L为固定形式,之后的路径为安装libid3tag的路径下的子目录。我一开始没有加CPPFLAGS、LDFLAGS,

有错误提示:

configure: error: zlib.h was not found
*** You must first install zlib (libz) before you can build this package.
*** If zlib is already installed, you may need to use the CPPFLAGS
*** environment variable to specify its installed location, e.g. -I<dir>.

可能是没有在tmp目录下生成所需的库,加上-I、-L后就没这问题了。

 

3.编译libmad

在libmad目录下执行以下操作就可以安装libid3tag库

./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp CPPFLAGS=-I/work/drivers_and_test/21th_sound/app/tmp/include LDFLAGS=-L/work/drivers_and_test/21th_sound/app/tmp/lib
make 
make install

如果有提示:"-fforce-mem"参数不能识别,打开当前目录下的Makefile文件,去掉里面出现的"-fforce-mem",然后再make,make install就OK了。

4.编译madplay
./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp CPPFLAGS=-
I/work/drivers_and_test/21th_sound/app/tmp/include LDFLAGS=-L/work/drivers_and_test/21th_sound/app/tmp/lib
然后,make
这样就生成了madplay可执行文件,下载到板子上去就可以使用了。


http://www.niftyadmin.cn/n/2747042.html

相关文章

梯度下降的超参数大于等于2什么意思_梯度、散度、旋度与矢量分析

矢量分析在场论中非常重要&#xff0c;而三个基本算子&#xff08;梯度、散度与旋度&#xff09;又是构成各种复杂关系式的基础&#xff0c;下面逐一介绍&#xff0c;应特别注意散度与旋度的基本定义。对于矢量恒等式&#xff0c;在此列出是为了使用时查找方便&#xff0c;具体…

维护盘pe linux,不进入pe系统也能轻松维护硬盘,简直神器!

原标题&#xff1a;不进入pe系统也能轻松维护硬盘&#xff0c;简直神器&#xff01;相对其他器件而言&#xff0c;硬盘就属于比较脆弱的一类&#xff0c;如果硬盘没有保护好很容易出现问题&#xff0c;一旦遭遇硬盘损坏&#xff0c;将会带来很大的麻烦&#xff0c;所以我们需要…

linux 蓝牙 profile,Linux系统下蓝牙立体声配置A2DP profile

系统配置&#xff1a;Linux debian 2.6.22.6 #7 Mon Sep 3 10:46:00 CST2007 ppc GNU/Linuxbluetooth software: bluez-lib bluez-utils均是3.22。bluez.orgbluetooth hardware: iBook G4 内置的CSR 蓝牙2.0芯片、MotorolaS705蓝牙立体声耳机&#xff0c;也是CSR 蓝牙2.0芯片。…

Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

记一次Java Bug的解决过程 Q:Bug描述 前端form表单数据提交时&#xff0c;后端出现Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type application/x-www-form-urlencoded;charsetUTF-8 not supported]这样的提示&#xff0c;也没有触发Con…

【持续更新】NOIP注意事项

1.无根据的乱搞不可能对 2.必须造极限数据跑一下 3.必须测空间 4.不管用不用都把cstring加上 5.开文件测样例 6.删一长串代码最好注释 7.到10:00先敲暴力 8.题读三遍 9.先做好得分的&#xff0c;而不是先做好玩的 10.不准写LCT之类的神奇东西 11.就算存不下也要把dp方程写出来 …

02、在层级未知情况下通过递归查找子物体

1、在在层级未知情况下通过递归查找子物体 &#xff0c;这个主要是用于UI的的层级查找中 2、代码&#xff1a; 1 using System.Collections;2 using System.Collections.Generic;3 using UnityEngine;4 5 public class EnemyManager : MonoBehaviour6 {7 8 private GameOb…

读卡购票c语言程序,基于51单片机的c语言韦根卡读卡程序 门禁系统

/******************************************************************************** 文件名称&#xff1a;Wiegand.c* 说明&#xff1a;本文件为韦根卡读卡程序。* 功能&#xff1a;实现对韦根卡的识别* 修改&#xff1a;无* 版本&#xff1a;1.0.0* 作者&#xff1a;YuanDo…

LeetCode--100--相同的树

问题描述&#xff1a; 给定两个二叉树&#xff0c;编写一个函数来检验它们是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1: 输入: 1 1/ \ / \2 3 2 3[1,2,3], [1,2,3]输出: true 示…