linux + Qt 移植 Mplayer

参考文章:Tiny4412开发板Mplayer 移植

迅为4412的linux和Qt 移植Mplayer!

步骤

解压MPlayer-1.0rc2.tar.bz2

进入该目录 执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sudo ./configure 
--host-cc=/usr/bin/gcc \
--cc=/usr/share/arm/4.3.2/bin/arm-linux-gcc-4.3.2 \
--target=arm-linux \
--enable-static \
--disable-win32dll\
--disable-dvdread \
--disable-dvdread-internal \
--disable-dvdnav\
--disable-libdvdcss-internal \
--enable-fbdev \
--disable-mencoder \
--disable-live\
--disable-mp3lib \
--enable-mad\
--enable-libavcodec_a \
--disable-live \
--disable-ivtv \
--prefix=/usr/share/arm/Mplayer_Ku/\

成功之后 执行

  1. make
  2. 然后
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
make install --target=arm-linux  \
--enable-static \
--disable-win32dll \
--disable-dvdread \
--disable-dvdread-internal\
--disable-dvdnav \
--disable-libdvdcss-internal \
--enable-fbdev \
--disable-mencoder\
--disable-live \
--disable-mp3lib\
--enable-mad \
--enable-libavcodec_a \
--disable-live \
--disable-ivtv \
--prefix=/usr/share/arm/Mplayer_Ku \
--with-extraincdir=/usr/local/lib/mad_arm/include \
--with-extralibdir=/usr/local/lib/mad_arm/lib\

进入前面自己定义的库路径

1
2
cd  /usr/share/arm/Mplayer_ku/bin
arm-linux-readelf -h mplayer

可以看到生成的mplayer文件是ARM下的 ELF32

然后将mplayer移到arm板子上面,并且将相应的动态库移到ARM下的lib

错误及解决

  1. 在libmpeg2/motion_comp_arm_s.S文件前面添加
1
2
3
4
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
  1. make失败 提示
find -lmad```
1
2
3
4
5
6
7
8
9
10
11

接下来要把libmad的安装一下 ,参考文章[libmad的移植、交叉编译、安装——基于ubuntu16](https://blog.csdn.net/seven159/article/details/72614293)

安装完成之后继续make

3. make install 失败(错误代码):

```c
strip: Unable to recognise the format of the input file `/usr/share/arm/Mplayer_Ku/bin/mplayer'
install: strip process terminated abnormally
Makefile:256: recipe for target 'install-mplayer' failed

解决方案 :

进入到Makefile 的256行

在256行上面一行添加

1
INSTALLSTRIP :=

因为**INSTALLSTRIP 的默认参数是-s

我们需要将其置为空

-------------本文结束感谢您的阅读-------------