0
点赞
收藏
分享

微信扫一扫

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

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

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

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

先对zlib库进行编译:

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

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

先建立一个目录

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

接下来是进行配置

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

配置完成之后,

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

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

修改完之后,进行make编译

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

然后再执行安装make install,

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

安装在了当前目录下的__install

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

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

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

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

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

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

下面去编译libid3tag库

同样也是先去配置,

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

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

配置

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

编译

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

安装

make install

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

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

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

下面去编译libmad库

先配置

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

新建一个目录

mkdir __install

再编译

make

然后出错,

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

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

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

最后,安装

make install

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

最后编译madplay

先建立一个目录

mkdir __install

配置

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

编译

make

安装

make install

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

 

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

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

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

查看madplay需要的动态链接库

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

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

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

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

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

去查看开发板上面的库

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

还需要一些库

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

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

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

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

最后运行

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

 

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

 

举报

相关推荐

0 条评论