【嵌入式】交叉编译移植 Mplayer 到 ARM开发板 (方法二)

一、基本信息

1、移植环境

①:ubuntu16.04

②:iMX6Q开发板

2、移植所需软件源码

①:zlib zlib下载

②:alsa-lib alsa-lib下载

③:mplayer mplayer下载

二、安装 zlib

1:版本选择:zlib-1.2.8.tar.gz

2:配置 zlib

CC=arm-linux-gnueabihf-gcc ./configure --prefix=/home/icedustpan/software/zlib

①:CC=arm-linux-gnueabihf-gcc

我的交叉编译工具链:arm-linux-gnueabihf-gcc

②:–prefix=/home/icedustpan/software/zlib

安装路径:/home/icedustpan/software/zlib

在这里插入图片描述

3:编译 zlib

make

4:安装 zlib

make install

在这里插入图片描述

三、安装 alsa-lib

1:版本选择:alsa-lib-1.0.22

2:配置 alsa-lib

创建配置脚本

vim icedustpan.sh

填写下面的配置

#!/bin/sh
./configure \
        --host=arm-linux-gnueabihf \
        CC=arm-linux-gnueabihf-gcc \
        --enable-shared \
        --disable-python \
        --prefix=/usr/local/mplayer

①:–host=arm-linux-gnueabihf

交缠编辑工具链

②:–prefix=/usr/local/mplayer

安装路径,后面会把编译出来的相关库文件放到开发板,库文件放置的位置必须是 --prefix 指定的路径!!!
安装路径,后面会把编译出来的相关库文件放到开发板,库文件放置的位置必须是 --prefix 指定的路径!!!
安装路径,后面会把编译出来的相关库文件放到开发板,库文件放置的位置必须是 --prefix 指定的路径!!!

赋予权限

chmod +x icedustpan.sh

执行配置脚本

./icedustpan.sh

在这里插入图片描述

3:编译 alsa-lib

make

4:安装 alsa-lib

进入root用户安装

sudo su

导入交叉编译环境

export PATH=/usr/lib/gcc/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin:$PATH

安装

make install

在这里插入图片描述

四、安装 mplayer

1:版本选择:MPlayer-1.4.tar.xz

2:配置 mplayer

创建配置脚本

vim icedustpan.sh

填写下面的配置

应该是不要加上 --disable-ossaudio \

#!/bin/sh 
./configure \
	--enable-cross-compile --prefix=/usr/local/mplayer \
	--cc=arm-linux-gnueabihf-gcc  --ar=arm-linux-gnueabihf-ar  --as=arm-linux-gnueabihf-as \
	--ranlib=arm-linux-gnueabihf-ranlib \
	--target=arm-armv7-linux \
	--prefix=./build \
	--enable-alsa \
	--extra-cflags="-I/home/icedustpan/software/zlib/include -I/usr/local/mplayer/include/" \
	--extra-ldflags="-L/home/icedustpan/software/zlib/lib -L/usr/local/mplayer/lib -lasound" \
	--enable-ass \
	--host-cc=gcc \
	--enable-fbdev --disable-dvdread \
	--disable-dvdnav --disable-jpeg --disable-tga \
	--disable-pnm --disable-tv --disable-ivtv \
	--disable-xanim --disable-win32dll --disable-armv5te --disable-armv6 \
	--disable-png  2>&1 |tee logfile
#!/bin/sh 
./configure \
	--enable-cross-compile --prefix=/usr/local/mplayer \
	--cc=arm-linux-gnueabihf-gcc  --ar=arm-linux-gnueabihf-ar  --as=arm-linux-gnueabihf-as \
	--ranlib=arm-linux-gnueabihf-ranlib \
	--target=arm-armv7-linux \
	--prefix=./build \
	--disable-ossaudio \
	--enable-alsa \
	--extra-cflags="-I/home/icedustpan/software/zlib/include -I/usr/local/mplayer/include/" \
	--extra-ldflags="-L/home/icedustpan/software/zlib/lib -L/usr/local/mplayer/lib -lasound" \
	--enable-ass \
	--host-cc=gcc \
	--enable-fbdev --disable-dvdread \
	--disable-dvdnav --disable-jpeg --disable-tga \
	--disable-pnm --disable-tv --disable-ivtv \
	--disable-xanim --disable-win32dll --disable-armv5te --disable-armv6 \
	--disable-png  2>&1 |tee logfile

①:–extra-cflags="-I/home/icedustpan/software/zlib/include -I/usr/local/mplayer/include/"

前面编译出来的 zlib 和 alsa-lib 的 include 文件路径

②:–extra-cflags="-I/home/icedustpan/software/zlib/include -I/usr/local/mplayer/include/"

前面编译出来的 zlib 和 alsa-lib 的 lib 文件路径

赋予权限

chmod +x icedustpan.sh

执行配置脚本

./icedustpan.sh

3:编译 mplayer

make

五、移植相关库文件

1、拷贝zlib

把之前指定安装路径:/home/icedustpan/software/zlib/lib 下面的

libz.so

libz.so.1

libz.so.1.2.8

三个文件拷贝到开发板/usr/lib/ 目录下

sudo cp /home/icedustpan/software/zlib/lib/ -a .

2、拷贝mplayer

把编译出来的 mplayer 拷贝到 开发板的 /bin 目录下

sudo cp /home/icedustpan/software/MPlayer-1.4/mplayer .

3、拷贝alsa-lib

把 /usr/local/mplayer/lib/ 目录下的 libasound.so.2.0.0 拷贝到 开发板的 /lib 目录下

sudo cp /usr/local/mplayer/lib/libasound.so.2.0.0 .

/usr/local/mplayer/lib 这个路径是我们前面编译指定的,必须一样

并且软链接 为 libasound.so.2

sudo ln -s libasound.so.2.0.0 libasound.so.2

接下来把 /usr/local/ 目录下的 整个mplayer目录 拷贝到 开发板的/usr/local/

sudo cp /usr/local/mplayer/ -a .

猜你喜欢

转载自blog.csdn.net/weixin_44205779/article/details/107960678