当前位置:网站首页>In the whole development of chi V853 board tried to compile QT test
In the whole development of chi V853 board tried to compile QT test
2022-08-02 09:21:00 【DOT Xiaowen】
记录一下自己交叉编译QT的过程,目前来说再体验了初次编译镜像之后,编译这个QT还是算比较快捷的,因为该有的库都安装完成了.
首先就是我需要找到我们的交叉编译器安装位置,这个在下载了Tina之后还是很好找的.tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin
如上路径.

我们用的一般就是这个,我们可以把其路径加到我们系统的环境中,这样在编译QT的时候就比较简单了.
一般我是直接加到/etc/profile下的,这样重启后就有了.

敲一下arm-openwrt-linux-gcc -v这样就能出现如上提示就OK了.
接下来我们准备下编译QT前先编译tslib这个在底层使用触摸屏的时候比较方便.

这里我选择的1.15版本的,这个都可以,本身Tina再构建的时候好像就带了tslib.
export STAGING_DIR=/home/v853/tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/arm-openwrt-linux-muslgnueabi
这段要再配置前执行,这段是为了找交叉编译器的库文件,头文件的.
./configure --host=arm-openwrt-linux ac_cv_func_malloc_0_nonnull=yes--cache-file=arm-linux.cache -prefix=/home/v853/QT/tslib-1.15/arm-tslib

进行配置生成makefile文件.

然后直接make,make结束之后就是make install,这样就会在我们配置的文件夹中生成我们的arm-tslib.

这里其实也只是为了QT交叉编译找一下头文件库这些.

然后我们选择一个QT5版本,这里我选择了QT5.12.6.然后新建一个装交叉编译完成的文件夹我命名为arm-qt.之后我们一般选择构建一个脚本.

这里我建了一个叫make.sh的.这样在这里面我们完成所以QT的配置工作,具体如下:
#!/bin/sh
PWD=`pwd`
mkdir arm-qt
./configure \
-prefix $PWD/arm-qt \
-release \
-opensource \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-pch \
-qt-sqlite \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-skip qtlocation \
-skip qttools \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-dbus \
-no-xcb \
-no-iconv \
-no-separate-debug-info \
-no-fontconfig \
-tslib \
-I /home/v853/QT/tslib-1.15/arm-tslib/include \
-L /home/v853/QT/tslib-1.15/arm-tslib/lib \
-recheck-all \
-make examples
make -j16
make install
结尾就是直接构建然后安装.
-xplatform linux-arm-gnueabi-g++
中间我们注意这个配置,这个配置是要对应上我们交叉编译器的.


把上面文件里面内容全部替换成我们的交叉编译器的名字.然后执行脚本即可.


确定一下我们的是否同意其license.输入yes即可,中间无报错直接就会构建完安装完.

这是我们配置的一些组件,可以自己选择性的安装.也就是修改脚本即可.

这里就是编译完成了,中间大概等了半小时,看个人虚拟机配置情况.

在路径下生成了很多文件,我们放到arm开发板上也就是lib,和plugins这里面还没有字体文件,可以自己添加.

来到底层,我们需要把文件放到底层,然后我居然发现我编译的系统没有tar指令,没办法我们只能对SD卡下手了,我给sd格式化成ext4格式了也就是支持linux系统的格式.
sudo apt install gparted
我在Ubuntu下安装了gparted工具.直接格式化卡就行.
这样我们可以直接挂载然后使用库.这个目的是因为有些.So文件无法解压的.
export QT_PLUGIN_PATH=/mnt/qt5.12.6/plugins
export QT_QPA_PLATFORM=linuxfb
export LD_LIBRARY_PATH=/mnt/qt5.12.6/lib
然后初始化一下我们的库路径,这样就能运行QT了,效果如下:

附件如下:
qt5.12.6.tar
原贴链接:https://bbs.aw-ol.com/topic/1836/
全志在线开发者交流企鹅群(客服机器人24小时在线解答):498263967
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
全志及开发者最新动态可以关注全志在线微信公众号
边栏推荐
猜你喜欢

向量组的线性相关性

nacos项目搭建

Overview of Edge Computing Open Source Projects

Spend 2 hours a day to make up for Tencent T8, play 688 pages of SSM framework and Redis, and successfully land on Meituan

How to use postman

Docker内MySQL主从复制学习,以及遇到的一些问题

Daily practice of dynamic programming (3)

四字节的float比八字结的long范围大???

Pycharm (1) the basic use of tutorial

EdrawMax Crack,多合一的图表应用程序
随机推荐
【打新必读】麦澜德估值分析,骨盆及产后康复电刺激产品
十、 网络管理
Have you ever learned about these architecture designs and architecture knowledge systems?(Architecture book recommendation)
三国演义小说
HCIP笔记第十三天
中国发布丨滴滴因违反网络安全法等被罚80.26亿元!调查细节公布
单机部署flink,创建oracle19c rac的连接表时报错 ORA-12505 ,怎么回事?
“蔚来杯“2022牛客暑期多校训练营4
Detailed explanation of calculation commands in shell (expr, (()), $[], let, bc )
Re23:读论文 How Does NLP Benefit Legal System: A Summary of Legal Artificial Intelligence
【Flink 问题】Flink 如何提交轻量jar包 依赖该如何存放 会遇到哪些问题
tf.where使用
裁员趋势下的大厂面试:“字节跳动”
干货|如何在海量文件系统中选择合适自己的文件系统
【Redis】通用命令
Jetpack Compose 中的状态管理
The packet capture tool Charles modifies the Response step
RetinaFace: Single-stage Dense Face Localisation in the Wild
【Redis】Jedis
Talk about the understanding of Volatile