myzr_soft 发表于 2020-5-18 16:37:06

mplayer移植

主机平台: UBUNTU16.04
硬件平台:明远智睿MYZR-IMX8M-EVK
内核版本 :linux-4.14.98
交叉编译链:aarch64-linux-gnu-gcc
文件系统:fsl-image-validation-myimx8m.tar.bz2


source /home/jj/my-work/03_toolchain/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.env

编译zlib
mplayer依赖zlib,
先下载zlibhttp://www.zlib.net/,
解压zlib-1.2.11.tar.gz并编译:

CC=aarch64-linux-gnu-gcc ./configure --prefix=/home/jj/my-work/transplant/zlib/zlib64 –static
make
make install

编译alsa-lib
mplayer需要alsa-lib实现对alsa声音的支持,
下载alsa-libhttps://www.alsa-project.org/wiki/Main_Page,
解压alsa-lib-1.2.2.tar.bz2 并编译:

./configure --host=aarch64-linux-gnu --prefix=/home/jj/my-work/transplant/alsa/alsa64/alsa-lib --enable-shared --disable-python
make
make install

alsa-lib默认安装在/usr目录,在make install指定DESTDIR使之安装到/usr/alsa-lib目录,避免安装在宿主机/usr目录中。

编译mplayer

在mplayer源码目录可以通过./configure –h来查看配置选项。
configure中指定--enable-alsa支持alsa,--disable-ossaudio禁用过时的oss,加入zlib、alsa-lib的头文件、库路径。

./configure --cc=aarch64-linux-gnu-gcc --enable-cross-compile --ar=aarch64-linux-gnu-ar --as=aarch64-linux-gnu-as --ranlib=aarch64-linux-gnu-ranlib --host-cc=gcc --target=aarch64-linux-gnu --disable-ossaudio --enable-alsa --prefix=/home/jj/my-work/transplant/mplayer/mplayer-install64 --extra-cflags="-I/home/jj/my-work/transplant/alsa/alsa-lib/include -I/home/jj/my-work/transplant/zlib/zlib64/include -DHAVE_ARMV8=0" --extra-ldflags="-L/home/jj/my-work/transplant/zlib/zlib64/lib -lz -L/home/jj/my-work/transplant/alsa/alsa-lib/lib -lasound"

make

make install

make install会提示strip错误:
修改MPlayer-1.3.0源码目录下的Makefile如下:
使用/查找$(INSTALL)

      #$(INSTALL) -d $(BINDIR) $(CONFDIR) $(LIBDIR)
      aarch64-linux-gnu-strip $<
      $(INSTALL) -m 755 $< $(BINDIR)
编译成功后,会在目录中/home/jj/my-work/transplant/mplayer/mplayer-install64生成mplayer可执行文件,把mplayer拷贝到板端/usr/bin目录。


页: [1]
查看完整版本: mplayer移植