当前位置: 首页 > news >正文

阶段2-新手上路\项目-移动物体监控系统\Sprint1-声音报警子系统开发\第3节-嵌入式播放器移植...

嵌入式播放器移植需要解决两个问题:

a、需要移植哪一个播放器;b、怎么移植该播放器       (那么搜索嵌入式linux播放器in baidu)

先对zlib库进行编译:

在linux下面很多开源的软件第一步要做的事情就是去配置,配置的过程就是通过一些信息告诉它产生Makefile;刚开始是没有一个有效的Makefile的。

配置时需要给出的信息,即库文件安装时需要放在哪儿,即make install时,需要把文件放在什么地方,--prefix就是指定目录存放的位置。

先建立一个目录

接下来是进行配置

配置完成之后,

在进行编译之前,需要把Makefile里面的编译工具修改,针对ARM平台来编译

修改完之后,进行make编译

然后再执行安装make install,

安装在了当前目录下的__install

.a文件是静态库文件,如何把它修改成一个动态库呢,那么就需要在配置的地方去修改

然后重新按照上面的方式去修改Makefile,make,make install。

下面去编译libid3tag库

同样也是先去配置,

配置选项--host=arm-linux:主要有两个作用:a、表明我们编译出来的软件是应用在arm平台;b、后面的arm-linux是一个前缀,后面再跟上gcc等就形成了工具链,就不需要像zlib(不支持--host选项)那样去修改makefile了。

--prefix:是要指明安装的文件存放的目录

配置

编译

安装

make install

结果,同时生成了静态库和动态库

等一下需要使用的是动态库

下面去编译libmad库

先配置

新建一个目录

mkdir __install

再编译

make

然后出错,

进入makefile里面删除该选项如下

最后,安装

make install

最后编译madplay

先建立一个目录

mkdir __install

配置

编译

make

安装

make install

 

下面把二进制文件madplay复制到开发板,运行之,出错,

原因在于它是动态编译的,需要一些动态链接库,可以在/lib目录下面去看相应的动态链接库

查看madplay需要的动态链接库

下面把之前生成的动态链接库拷贝到开发板的/lib/目录下面去

去查看开发板上面的库

还需要一些库

上面两个库解决了,还需要下面两个库,下面两个库是标准库,数学库,c库,这些库应该从工具链里面来,交叉编译器里面去复制,

最后运行

 

madplay +文件名.mp3,能运行则成功!!!

 

转载于:https://www.cnblogs.com/gary-guo/p/6013507.html

相关文章:

  • 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
  • Java各种排序算法详解
  • php底层运行原理
  • python之map、filter、reduce、lambda函数 转
  • Linux 命令行总结
  • jquery.spinner数字智能加减插件源代码效果
  • 关键字提取算法TF-IDF
  • 微软Madoko常见问题总结
  • 【Python基础学习二】定义变量、判断、循环、函数基本语法
  • HTML5 Canvas 练习及知识点分享之绘制圆及曲线(一)
  • redis安装出错
  • js基础总结 一
  • 总结Selenium自动化测试方法(四)WebDriver常用的操作
  • js 时间与时间戳的转换
  • HTTP——学习笔记(1)
  • @angular/forms 源码解析之双向绑定
  • 《Java编程思想》读书笔记-对象导论
  • 【5+】跨webview多页面 触发事件(二)
  • Java超时控制的实现
  • js 实现textarea输入字数提示
  • js学习笔记
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • php ci框架整合银盛支付
  • SOFAMosn配置模型
  • Spring框架之我见(三)——IOC、AOP
  • windows下使用nginx调试简介
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 开源SQL-on-Hadoop系统一览
  • 区块链将重新定义世界
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 微信公众号开发小记——5.python微信红包
  • 小李飞刀:SQL题目刷起来!
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • ​ArcGIS Pro 如何批量删除字段
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (十一)图像的罗伯特梯度锐化
  • (转)Linq学习笔记
  • 、写入Shellcode到注册表上线
  • .NET Core 中的路径问题
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .NET中的Exception处理(C#)
  • ::before和::after 常见的用法
  • ??在JSP中,java和JavaScript如何交互?
  • @RequestMapping用法详解
  • [ Linux ] Linux信号概述 信号的产生
  • [Angular] 笔记 20:NgContent
  • [Codeforces] number theory (R1600) Part.11
  • [C语言][C++][时间复杂度详解分析]二分查找——杨氏矩阵查找数字详解!!!
  • [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager失败