天天看点

2.移植QT5.6.2到X210(详解)

详细参考有道云笔记,文档:2.移植QT5.6.2到X210(详解).note

链接:http://note.youdao.com/noteshare?id=1fd61c2d7d1db6f1ddd79e83adf73701&sub=121A68D4B8B4443AB5E3B0EE15C04AF4

CSDN识别md文件有问题,不吐槽了......就不排版了。

所需资源:

  1. x210(cortex-a8)
  2. 内核: 2.6.35.7 + android2.3/QT4.8.3
  3. PC 环境:ubuntu14.04  32位
  4. 交叉编译工具链:arm-none-linux-gnueabi-gcc-4.4.1(来自三星的arm-2009q3)
  5. 开发板已装载好 Linux
  6. 挂载x210开发板根文件系统方式:NFS(自行制作开发板根文件系统)
  7. 移植mplayer:MPlayer-1.0rc2(一款开源多媒体播放器,移植后我们需要的是mplayer这个可执行文件,用于放在开发板根文件系统中)
  8. 移植libmad-0.15.1b(一个开源的高精度MPEG音频解码库)

涉及技术:

  1. (1)libmad移植:(QT依赖的触摸屏库)
  2. (2)libmad-0.15.1b源码移植及交叉编译
  3. (3)nfs挂载根文件系统
  1. images 目录: mplayer 可执行文件
  2. libs 目录:移植需要的库压缩包和 mplayer 的压缩包。
  3. video 目录: mplayer 播放需要的 mp4 格式的视频文件(1024*600帧宽高度)

(ps:需要其他适合自身开发板屏幕分辨率的帧宽高,可以使用魔音工厂生成)

编译源代码:

1.配置、 编译、安装 libmad 库

1.1. 解压缩 libmad-0.15.1b.tar.gz,并进入目录下:

tar zxf libmad-0.15.1b.tar.gz

cd libmad-0.15.1b

2.移植QT5.6.2到X210(详解)

1.2. 配置 libmad-0.15

./configure --enable-fpm=arm --host=arm-none-linux-gnueabi --disable-shared --disable-debugging --prefix=/usr/local/arm/arm-2009q3/lib CC=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc

注意/usr/local/arm/arm-2009q3是我的交叉编译工具链的路径

make,报错如下:

cc1: error: unrecognized command line option "-fforce-mem"

1.3.解决方法: 在Makefile中找到包含"fforce-mem"字符串,将其删除即可;

原因:gcc3.4或更高版本中,已将将该选项去除了。

1.4.安装

make && make install 至此, libmad 库就安装好了。

2. 配置、编译、安装 MPlayer-1.0rc2

2.1. 解压缩 MPlayer-1.0rc2.tar.bz2,并进入 MPlayer-1.0rc2 目录

tar xjf MPlayer-1.0rc2.tar.bz2

cd MPlayer-1.0rc2

2.移植QT5.6.2到X210(详解)

2.2. 配置 MPlayer-1.0rc2

./configure --cc=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc --target=arm-none-linux-gnueabi --enable-static --prefix=/opt/MPlayer/MPlayer-1.0rc2 --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --disable-armv5te --disable-armv6 --with-extraincdir=/usr/local/arm/arm-2009q3/lib/include  --with-extralibdir=/usr/local/arm/arm-2009q3/lib/lib --host-cc=gcc --enable-ossaudio

然后make:提示如下错误:

2.移植QT5.6.2到X210(详解)

解决方法,在 安装 MPlayer时: ./configure --disable-ivtv

./configure --cc=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc --target=arm-none-linux-gnueabi --enable-static --prefix=/opt/MPlayer/MPlayer-1.0rc2 --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --language=zh_CN --disable-armv5te --disable-armv6 --with-extraincdir=/usr/local/arm/arm-2009q3/lib/include  --with-extralibdir=/usr/local/arm/arm-2009q3/lib/lib --host-cc=gcc --enable-ossaudio --disable-ivtv --disable-tv

注意配置之前先make clean一下。

再make,提示如下错误:

2.移植QT5.6.2到X210(详解)

解决方法:找到ioctl.c的相应行,全部屏掉(Pvim跳转到指定行:首先按esc进入命令行模式 :n (跳转到文件第n行,需要回车))

再编译,编译成功

2.移植QT5.6.2到X210(详解)

2.3. 编译

make 至此,就编译出了 mplayer 可执行文件。

2.移植QT5.6.2到X210(详解)

3.测试

3.1将 mplayer 拷贝到开发板根文件系统的/bin 目录下

我的开发板根文件系统路径(/root/porting_x210/rootfs/rootfs/)

2.移植QT5.6.2到X210(详解)

3.2 将 video 目录里的测试视频文件 Transformers2.mp4 也拷贝到开发板根文件系统下。

3.3 在终端中进入跟文件系统中执行mplayer程序来播放

mplayer Transformers2.mp4

2.移植QT5.6.2到X210(详解)

当然  也可以播放mp3文件,拷贝 daoxiang.mp3文件到我们的跟文件系统

mplayer  daoxiang.mp3

2.移植QT5.6.2到X210(详解)
2.移植QT5.6.2到X210(详解)

所用源码:

继续阅读