版本说明:
交叉编译器: arm-linux-gnueabihf-gcc :4.9.4 (Linaro GCC 4.9-2017.01)
所用到的库跟软件版本如下:
一、交叉编译zlib库
1、上传到Ubuntu进行解压。
tar -xf zlib-1.2.11.tar.gz
2、进入zlib-1.2.11目录执行配置生成Makefile进行编译。
./configure --prefix=/home/czx/linx/tool/mplayer/arm-zlib
3、修改Makefile,指定交叉编译器等配置信息,更改以下四个位置的内容如下所示。
4、执行make命令进行编译
成功后生成如下目录。
二、交叉编译libmad
1、解压并进入对应的目录
2、执行如下配置,生成Makefile文件。
./configure --prefix=/home/czx/linux/tool/mplayer/libmad-0.15.1b/arm-libmd --enable-fpm=arm --host=arm-linux --disable-debugging --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc --enable-speed
配置成功如下所示:
3、注意:这里先别急着make编译,先修改一下Makefile否则编译不通过。
4、接下来执行make编译。
5、执行make install安装,安装成功进入指定的输出目录看到如下文件夹。
三、交叉编译libid3tag库
1、上传到Ubuntu进行解压。
tar -xf libid3tag-0.15.0b
2、进入解压后的目录执行配置。
./configure CC=arm-linux-gcc --prefix=/.../编译后的输出路径 --host=arm-linux --disable-shared CPPFLAGS=-I/.../zlib生成的include路径 LDFLAGS=-L/.../zlib生成的lib路径
3、执行make进行编译。
4、执行make install安装。
四、交叉编译madplay
1、上传到Ubuntu进行解压。
2、进入解压后的目录执行配置。
注意:配置之前将前面的编译好的三个库的头文件、库文件统一放到自定义的路径下,madplay编译会用到(个人的路径/opt/madplay/_insatll/include、/opt/madplay/_insatll/liib)。
#!/bin/bash
./configure \
--host=arm-linux-gnueabihf \
--enable-static \
--disable-shared \
--disable-debugging \
--prefix=/opt/madplay/_install \
CPPFLAGS=-I/opt/madplay/_insatll/include \
LDFLAGS=-L/opt/madplay/_insatll/lib
exit
3、执行make 进行编译。
4、执行make install 进行安装。
5、最后将生成的madplay拷贝到开发板的/usr/bin目录下,拷贝MP3音乐文件进行测试即可
测试时报错,提示找不到动态库:
拷贝之前libmad库生成的共享库 libmad.so.0 到开发板的 /usr/lib 目录即可解决。
直接执行:madplay MP3文件会报错如下所示:
使用如下测试命令即可解决:
madplay -o wav:- 4.mp3 | aplay
至此经过九曲回肠的移植到此结束啦,觉得有用记得给笔者点个小关注,你们的点赞是我坚持的动力!!!!