阶段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,能运行则成功!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】