大家好,我是阿桃,一个想成为被点赞关注的程序员。
工控行业、物联网行业、机器人行业软件开发可联系我
本文旨在说明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
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如下
3.创建安装目录/opt/Qtlib/qt-4.8.5
4.编写可执行文件生成makefile
5.执行编译安装make -j4 && make install
这个时候回报编译错误,将出错信息百度搜索就能搜到,然后进行相应的源码修改即可。
6.将生成的tslib以及QTlib移植到Hi3519AV100开发板上
7.编写setqtenv文件
8.编写QT程序进行界面显示。
运行程序后会出现fb0不能打开的情况,这是因为海思在fb驱动上封装了一层扩展Hifb,所以需要先进行一些初始化才能进行QT界面显示。
9.运行海思提供的sample_hifb
Hi3519AV100中的sample_hifb会在图片显示完后关闭,所以需要修改一下源程序让fb0处于一直打开的情况。
具体修改内容是执行标准模式,然后再SAMPLE_HIFB_PANDISPLAY函数中添加while(1){sleep(100);}。
之后运行标准模式,以下的程序我是将所有不需要的程序都清理掉,仅仅是调试的话如上文讲的添加一个while(1){sleep(100);}即可。
10.再次运行QT程序
配置环境变量以及再次运行QT就能成功显示QT界面。
不过这里界面显示的大小会有问题,跟sample_hifb中的配置有关,在后面关于hifb开发文档中会独立介绍。