如何在全志H3硬件平台上面运行Qt

准备材料:

  1. qt-everywhere 4.8.7(4.8.7)
  2. 交叉编译器arm
  3. 物理机ubuntu14.4
  4. 硬件H3开发板

qt源代码可以从qt官网上面下载,demo板购于某宝,交叉编译器以及开发sdk一般由卖家提供。

如何在全志H3硬件平台上面运行Qt_第1张图片

如何在全志H3硬件平台上面运行Qt_第2张图片

一、配置交叉编译器

打开命令行,编辑环境变量,将交叉编译器配置进入环境变量,然后souruce .bashrc使之生效。

如何在全志H3硬件平台上面运行Qt_第3张图片

输入arm 按tab按键出现自动补全,说明编译器安装成功

如何在全志H3硬件平台上面运行Qt_第4张图片

解压qt源码:

如何在全志H3硬件平台上面运行Qt_第5张图片

配置qt源码

配置包含Qt的安装路径(-prefix /lib/Qt_H3_arm \),

编译器(-xplatform qws/linux-arm-gnueabi-g++ \)

显示器深度(-depths 16,18,24,32 \)

是否使用触摸屏(#-qt-mouse-tslib)

etc

 

./configure \
-prefix /lib/Qt_H3_arm \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-gnueabi-g++ \
-depths 16,18,24,32 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-webkit \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-pch \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
-force-pkg-config \
-no-rpath 

#-xplatform qws/linux-arm-gnueabi-g++ \
#-no-webkit \
#-no-qvfb \
#-qt-mouse-tslib
#-I/usr/local/tslib/include \
#-L/usr/local/tslib/lib

上面的脚本可以写在sh文件里面,配置时候运行 ./

如何在全志H3硬件平台上面运行Qt_第6张图片

配置的过程是一个生成相对应makefile、qmake的过程

如何在全志H3硬件平台上面运行Qt_第7张图片

配置完成

如何在全志H3硬件平台上面运行Qt_第8张图片

需要重新配置的话运行 make confclean 再运行之前的脚本,这里已经配置完成,我需要运行make 命令编译qt

编译是一个漫长的过程,建议使用性能强一点的处理器编译,我的电脑有20个核心,后面加上 -j20命令,20个处理器一起编译可以缩短编译时间

如何在全志H3硬件平台上面运行Qt_第9张图片

 

解决错误:

修改qt/src/corelib/Makefile

LIBS          = $(SUBLIBS)  -L/home/fanxiangqiang/src/qt-everywhere-opensource-src-4.8.7/lib -lpthread -lm -ldl -lrt

 

期间还会出现下面图片中crt开头的.O文件找不到的错误,这里可以下载官方的arm交叉编译器,复制相应的文件该目录下结u哦错误,需要注意的是,官方版本的库文件有两个版本的.o文件,一个时带有后缀hf,一个不带有,我们使用不带hf的,不使用硬件浮点运算。

如何在全志H3硬件平台上面运行Qt_第10张图片

经过十多分钟的等待,编译好的Qt会安装在之前设定好的目录目录下面

将Qt_H3_arm复制到SDK里面的文件系统.首先要保证sdk可以编译出能够运行的最小linux系统

如何在全志H3硬件平台上面运行Qt_第11张图片

然后时镜像文件的打包过程

如何在全志H3硬件平台上面运行Qt_第12张图片

复制Qt文件到文件系统,这里需要复制的路径需要和最小系统文件路径对应,也就是物理机编译出来的Qt路径需要和在开发板上面运行的qt路径对应起来。复制后重新打包镜像,此时的镜像文件就将Qt包进去了。

如何在全志H3硬件平台上面运行Qt_第13张图片

下一步下载镜像文件到开发板。

一般使用Qt需要程序开机自启动,因此需要添加自启动脚本文,可在sdk中调价脚本文件,开机自启。

这个是我手里的demo板

如何在全志H3硬件平台上面运行Qt_第14张图片

 

你可能感兴趣的:(如何在全志H3硬件平台上面运行Qt)