当前位置:网站首页>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
全志及开发者最新动态可以关注全志在线微信公众号
边栏推荐
猜你喜欢

数据库mysql

自定义卡包效果实现

编程与哲学(2)——输出是为了更好的输入

AutoJs学习-实现科赫雪花

RetinaFace: Single-stage Dense Face Localisation in the Wild

PyQt5 (a) PyQt5 installation and configuration, read from the folder and display images, simulation to generate the sketch image

【Flink 问题】Flink 如何提交轻量jar包 依赖该如何存放 会遇到哪些问题

leetcode:81. 搜索旋转排序数组 II

天地图给多边形加标注

裁员趋势下的大厂面试:“字节跳动”
随机推荐
Navicat连接MySQL时弹出:1045:Access denied for user ‘root’@’localhost’
膜拜,Alibaba分布式系统开发与核心原理解析手册
初学者怎么快速学会SQL
js引擎运行中的预解析(变量提升和函数提升)及相关实操案例
Talk about the understanding of Volatile
mysql进阶(二十一)删除表数据与数据库四大特性
瑞吉外卖项目剩余功能补充
mysql连接池的实现
XML简介
day_05 time 模块
智能网络安全网卡|这是不是你要的安全感
百战RHCE(第四十七战:运维工程师必会技-Ansible学习2-Ansible安装配置练习环境)
EdrawMax Crack,多合一的图表应用程序
OneinStack多版本PHP共存
日元疲软令游戏机在日本变身“理财产品”:黄牛大赚
数据库mysql
堪称神级的阿里巴巴“高并发”教程《基础+实战+源码+面试+架构》
Jenkins--基础--6.3--Pipeline--语法--脚本式
What attributes and methods are available for page directives in JSP pages?
HCIP笔记第十三天