阶段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