当前位置:网站首页>在全志V853开发板试编译QT测试
在全志V853开发板试编译QT测试
2022-08-02 09:09:00 【DOT小文哥】
记录一下自己交叉编译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
全志及开发者最新动态可以关注全志在线微信公众号
边栏推荐
- 【论文阅读】Distilling the Knowledge in a Neural Network
- AutoJs学习-存款计算器
- What is the function of page directive contentPage/pageEncoding in JSP page?
- [Must read] Mylander valuation analysis, electrical stimulation products for pelvic and postpartum rehabilitation
- 大厂外包,值得拥有吗?
- postman下载安装汉化及使用
- AutoJs学习-实现科赫雪花
- 恋爱十不要
- 四字节的float比八字结的long范围大???
- What is the function of the import command of the page directive in JSP?
猜你喜欢

1对1视频源码——快速实现短视频功能提升竞争力

openpyxl 单元格合并

Rust from entry to master 03-helloworld

【微信小程序2】事件绑定

百战RHCE(第四十六战:运维工程师必会技-Ansible学习1-基础知识讲解)

OneinStack多版本PHP共存

The god-level Alibaba "high concurrency" tutorial "basic + actual combat + source code + interview + architecture"

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

RetinaFace: Single-stage Dense Face Localisation in the Wild

Nodejs3day(express简介,express创建基本Web服务器,托管静态资源,nodemon下载及出现的问题,中间件,编写GET,POST,JSONP接口)
随机推荐
spark:热门品类中每个品类活跃的SessionID统计TOP10(案例)
Daily practice of dynamic programming (3)
Overview of Edge Computing Open Source Projects
Daily practice of dynamic programming (2)
Worship, Alibaba distributed system development and core principle analysis manual
动态规划每日一练(3)
腾讯T8架构师,教你学中小研发团队架构实践PDF,高级架构师捷径
智能网络安全网卡|这是不是你要的安全感
利用minlm比较句子之间的相似度
How to use postman
postman使用方法
node封装一个图片拼接插件
三国演义小说
day_05模块
nacos项目搭建
裁员趋势下的大厂面试:“字节跳动”
JSP中page指令的import命令具有什么功能呢?
你有了解过这些架构设计,架构知识体系吗?(架构书籍推荐)
Rust from entry to master 03-helloworld
Jenkins--基础--6.3--Pipeline--语法--脚本式