项目实战:海思平台移植QT4.85

    本文旨在说明QT4.85在海思平台上的移植,方便后面读者在海思平台上移植QT提供参考。

一、tslib移植

1.tslib-1.16下载:

https://github.com/kergoth/tslib/releases/download/1.16/tslib-1.16.tar.bz2

2.解压 tslib.

3.创建安装目录

   在/opt目录下创建tslib文件夹存放生成的库。

4.编写mygen.sh脚本生成makefile

项目实战:海思平台移植QT4.85

 

5.运行./mygen.sh

6.执行make && make install编译

二、移植QT4.85

1.复制配置文件

cp mkspecs/qws/linux-arm-gnueabi-g++/ mkspecs/qws/linux-himix200-g++/ -rf

2.修改qmake.conf如下

项目实战:海思平台移植QT4.85

 

3.创建安装目录/opt/Qtlib/qt-4.8.5

4.编写可执行文件生成makefile

项目实战:海思平台移植QT4.85

 

5.执行编译安装make -j4 && make install

这个时候回报编译错误,将出错信息百度搜索就能搜到,然后进行相应的源码修改即可。

6.将生成的tslib以及QTlib移植到Hi3519AV100开发板上

7.编写setqtenv文件

项目实战:海思平台移植QT4.85

 

8.编写QT程序进行界面显示。

运行程序后会出现fb0不能打开的情况,这是因为海思在fb驱动上封装了一层扩展Hifb,所以需要先进行一些初始化才能进行QT界面显示。

项目实战:海思平台移植QT4.85

 

9.运行海思提供的sample_hifb

Hi3519AV100中的sample_hifb会在图片显示完后关闭,所以需要修改一下源程序让fb0处于一直打开的情况。

具体修改内容是执行标准模式,然后再SAMPLE_HIFB_PANDISPLAY函数中添加while(1){sleep(100);}。

项目实战:海思平台移植QT4.85

 

之后运行标准模式,以下的程序我是将所有不需要的程序都清理掉,仅仅是调试的话如上文讲的添加一个while(1){sleep(100);}即可。

项目实战:海思平台移植QT4.85

 

10.再次运行QT程序

配置环境变量以及再次运行QT就能成功显示QT界面。

项目实战:海思平台移植QT4.85

 

不过这里界面显示的大小会有问题,跟sample_hifb中的配置有关,在后面关于hifb开发文档中会独立介绍。