全志 Linux Qt
一、简介
本文介绍基于 buildroot 文件系统的 QT 模块的使用方法:
• 如何在 buildroot 工具里编译 QT 动态库;
• 编译及运行 qt_demo 应用程序;
• 适配过程遇到的问题。
二、QT动态库编译
在项目根路径执行
./build.sh buildroot_menuconfig
1、选择 Target packages 选项进入下一级配置

2、在 Target packages 配置项下选择 Graphic libraries and applications

3、在 Graphic libraries and applications 配置项中选择 Qt5

4、在 Qt5 中配置项下选择以下这些选项
(1)打开如下的配置(Compile and install example),才会编译对应的 demo。

(2)

保存退出,会把一些基本能验证的 QT 动态库编译出来
三、qt_demo‑launcher 配置
根路径执行
./build.sh buildroot_menuconfig
1、选择 Target packages 选项进入下一级配置

2、在 Target packages 配置项下选择 allwinner platform private package select

3、在 allwinner platform private package select 配置项中选择 qt_demo

4、在 qt_demo 配置项中选择 Launcher for qt

编译好的实例在如下位置。
/usr/lib/qt/examples

#注意,里面的demo能否都使用,需要依赖对应的动态库是否正确编译
四、编译报错
1、问题描述
在完成上述的配置后,进行./build.sh编译时,发现以下错误:
Project ERROR: Unknown module(s) in QT: widgets
Project ERROR: Unknown module(s) in QT: widgets
make[1]: *** [package/pkg-generic.mk:293: /home3/xiath/t527_linux_v1_0_2_git/out/t527/demo_linux_car/buildroot/buildroot/build/qt-launcher/.stamp_built] Error 3
make: *** [Makefile:96: _all] Error 2
make: Leaving directory '/home3/xiath/t527_linux_v1_0_2_git/buildroot/buildroot-202205'
ERROR: build buildroot Failed
INFO: build_buildroot_rootfs failed
2、解决办法
首先,根路径执行
./build.sh buildroot_menuconfig
选择 Target packages ----->Graphic libraries and applications----->Qt5----->widgets module

保存编译后,还是出现上述错误
(1)问题1:BR2_PACKAGE_QT5BASE_WIDGETS=y 无法编译
解决办法:包中的配置更改导致需要删除包,重新编译。
out/t527/demo_linux_car/buildroot/buildroot/build
rm qt5base-f31e001a9399e4e620847ea2c3e90749350140ae/ -rf
(2)问题2: 编译成功,但是在执行./build.sh pack打包时,出现下述错误:

解决办法: rootfs 分区扩大到 512M
device/config/chips/t527/configs/demo_linux_car/buildroot/sys_partition.fex
五、测试
编译烧录后,启动开发板,屏幕有以下现象:

运行qt demo,在usr/lib/qt/examples有很多示例。
./usr/lib/qt/examples/widgets/mainwindows/mainwindow/mainwindow

相关文章:
全志 Linux Qt
一、简介 本文介绍基于 buildroot 文件系统的 QT 模块的使用方法: • 如何在 buildroot 工具里编译 QT 动态库; • 编译及运行 qt_demo 应用程序; • 适配过程遇到的问题。 二、QT动态库编译 在项目根路径执行 ./build.sh buildroot_menuc…...
微功耗数据监测终端可应用在哪些场景?
随着科技的飞速发展,绿色、低碳、可持续已成为当代社会发展的重要主题。微功耗电池供电遥测终端机,正是这一时代背景下的杰出代表。它采用先进的微功耗技术,有效延长电池使用寿命,减少频繁更换电池的麻烦,同时降低能源…...
Windows下Docker安装Kafka3+集群
编写 docker-compose.yaml 主要参照:https://www.cnblogs.com/wangguishe/p/17563274.html version: "3"services:kafka1:image: bitnami/kafka:3.4.1container_name: kafka1environment:- KAFKA_HEAP_OPTS-Xmx1024m -Xms1024m- KAFKA_ENABLE_KRAFTyes- K…...
关于前端资源文件打包问题
可以使用webpack CopyWebpackPlugin插件 CopyWebpackPlugin是一个用于在构建过程中共复制文件和文件夹的Webpack插件。可以帮助我们将特定的文件或文件夹从源目录复制到构建目录,使得这些文件能够在输出的bundle中被访问到。 使用步骤: 1、安装CopyWeb…...
蓝桥杯备考随手记: 常用的字符串排序方式
在Java中,有多种方式可以对字符串进行排序。 下面将详细介绍几种常用的方法: 使用String的compareTo()方法进行排序: String类自带了compareTo()方法用于比较两个字符串的大小关系。可以直接使用该方法在排序时实现字符串的自然排序。 Strin…...
Linux--进程(2)
目录 前言 1. 进程的状态 1.1 进程排队 1.2 运行,阻塞,挂起 2.Linux下具体的进程状态 2.1僵尸和孤儿 3.进程的优先级 4.Linux的调度与切换 前言 这篇继续来学习进程的其它知识 上篇文章:Linux--进程(1)-CS…...
贪心算法思想
求上下界极值: main(){对每一组输入数据计算比值的上下界,更新比值界限的极值全局最大的最小比值和全局最小的最大比值 }Note: V需要满足所有记录,所以取---->全局最大的最小比值和全局最小的最大比值 P9240 [蓝桥杯 2023 省 B] …...
PKI:构建数字安全基石的关键技术
在数字化时代,网络安全已成为我们日常生活和工作的重要组成部分。为了确保数据的完整性、机密性和身份的真实性,公钥基础设施(Public Key Infrastructure,简称PKI)技术应运而生,为构建数字安全基石提供了重…...
vue中实现路由鉴权和不同用户登录
路由鉴权 路由鉴权是指根据用户权限控制用户可以访问哪些路由。 Vue 中实现路由鉴权 Vue 中可以结合 Vuex 和路由守卫来实现路由鉴权。 1. 使用 Vuex 存储用户权限 创建一个 Vuex store 来存储用户权限。在登录成功后,将用户权限存储在 Vuex store 中。在路由守…...
Golang 开发实战day06 - Boolean Conditional
🏆个人专栏 🤺 leetcode 🧗 Leetcode Prime 🏇 Golang20天教程 🚴♂️ Java问题收集园地 🌴 成长感悟 欢迎大家观看,不执着于追求顶峰,只享受探索过程 Golang 教程06 - Boolean &a…...
内容多样化的秘密:Kompas.ai如何拓展你的内容形式
在这个信息爆炸的时代,内容多样化已成为品牌吸引和维系广泛受众的关键策略。多样化的内容形式不仅能够迎合不同用户的偏好,还能够提高内容的覆盖面和参与度,从而增强品牌的市场竞争力。本文将深入探讨内容形式多样化的重要性,展示…...
OneFlow深度学习框架介绍
OneFlow 是由中科院计算技术研究所和华为公司联合开发的开源深度学习框架,旨在为用户提供高效、灵活、易用的深度学习解决方案。以下是 OneFlow 深度学习框架的一些特点和介绍: 高性能:OneFlow 针对大规模模型和数据集进行了优化,…...
基于SSM的宠物管理系统
点击以下链接获取源码: https://download.csdn.net/download/qq_64505944/89076676?spm=1001.2014.3001.5503 技术:SSM(Spring+SpringMVC+MyBatis)+LayUI+Echarts技术栈,分页采用pagehelper插件,EasyExcel进行Excel文件的导入导出。 宠物管理系统 1 CHINER-宠物管理系…...
【第十二篇】使用BurpSuite实现CSRF(实战案例)
CSRF存在前提:简单的身份验证只能保证请求是发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的 业务场景:新增、删除、收藏、编辑、保存使用Burp发现CSRF漏洞的过程如下。 1、如图,存在修改邮箱的功能点如下: 2、修改邮箱的流量包,此时邮箱已被修改: 思路:是…...
css 手写返回箭头
因为在开发App时,为了自定义返回栏,返回箭头,一般都用图片,当图片不方便,最好用css样式实现。 逻辑: 画出一个正方形,让它旋转45度,只显示你需要的两个边即可 代码 <!DOCTYPE ht…...
爬虫逆向非对称加密和对称加密案例
注意!!!!某XX网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!! 案例--aHR0cHM6Ly9jcmVkaXQuaGxqLmdvdi5jbi94eWdzL3l6d2ZzeHF5bWQv 第一步:分析页面、请求…...
大数据基础设施搭建 - Spark
文章目录 一、解压压缩包二、修改配置文件conf/spark-env.sh三、测试提交Spark任务四、Spark on Hive配置4.1 创建hive-site.xml(spark/conf目录)4.2 查看hive的hive-site.xml配置与3.1配置的是否一致4.3 测试SparkSQL4.3.1 启动SparkSQL客户端ÿ…...
轻松上手Jackjson(珍藏版)
写在前面 虽然现在市面上有很多优秀的json解析库,但 Spring默认采用Jackson解析Json。 本文将通过一系列通俗易懂的代码示例,带你逐步掌握 Jackson 的基础用法、进阶技巧以及在实际项目中的应用场景。 一、Jackjson简介 Jackson 是当前用的比较广泛的&a…...
Pytorch数据结构:Tensor(张量)及其维度和数据类型
文章目录 Tensor基础1.1、Tensor的维度(Dimensions)1.1.1、举例说明1.1.2、高维Tensor 1.2、.dim()和.size()方法1.2.1、.dim()方法1.2.2、.size()方法1.2.3、.shape属性1.2.3、示例代码1.2.3.1、一维Tensor1.2.3.2、二维Tensor1.2.3.3、三维Tensor 1.3、…...
【THM】Protocols and Servers 2(协议和服务器 2
介绍 协议和服务器房间涵盖了许多协议: 远程登录HTTP协议文件传输协议邮件传输协议POP3IMAP实现这些协议的服务器会受到不同类型的攻击。仅举几例,请考虑: 嗅探攻击(网络数据包捕获)中间人 ( MITM ) 攻击密码攻击(身份验证攻击)漏洞从安全的角度来看,我们始终需要思考…...
今日算法(依旧二叉树)
class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {//递归进行,加回溯过程if(rootq||rootp||rootNULL) return root;TreeNode*leftlowestCommonAncestor(root->left,p,q);TreeNode*rightlowestCommonAncestor…...
Kilocode框架:轻量级代码组织与复用架构实践
1. 项目概述:一个面向开发者的轻量级代码组织与复用框架最近在和一些团队交流时,发现一个挺普遍的现象:随着项目迭代,代码库越来越臃肿,不同模块间的依赖关系变得混乱,想复用一段业务逻辑或者工具函数&…...
紫光同创FPGA网络摄像头方案中,RGMII转GMII模块的Verilog实现与调试避坑指南
紫光同创FPGA网络摄像头方案中RGMII-GMII转换模块的深度解析与实战指南 当你在调试紫光同创FPGA网络摄像头方案时,是否遇到过这样的场景:PHY芯片与FPGA之间的物理层连接已经建立,但网络数据始终无法正常传输?或者上位机接收到的视…...
《从GIS前端到AIGC大厂:WebGIS、WebGL、Three.js技术栈的底层能力拆解与岗位适配指南》
前端GIS技术栈:从图形学底层到AIGC营销增长的全链路实战指南 (附大厂AI前端JD精准匹配与可落地项目) 🔖 目录理论篇:GIS中必学的图形学、WebGL、Three.js核心内容(含GIS实战细节) 1.1 计算机图形…...
Jetson TX2 NX扩容实战:用M.2固态硬盘告别存储焦虑(附完整分区与挂载命令)
Jetson TX2 NX存储扩容终极指南:M.2固态硬盘实战与性能调优 当你在Jetson TX2 NX上部署YOLOv5模型时,突然发现eMMC存储空间不足——这个场景对于许多边缘计算开发者来说再熟悉不过。16GB或32GB的板载存储,在当今动辄几个GB的AI模型和数据集面…...
反激变压器优化设计实战:从磁芯选型到绕制工艺的工程指南
1. 项目概述:为什么反激变压器设计是开关电源的“心脏手术”? 在开关电源的世界里,反激拓扑(Flyback)就像一位“全能型选手”,从手机充电器到家电辅助电源,再到工业控制模块,几乎无处…...
Linux内核模块开发实战:用filp_open和vfs_read实现一个简易配置文件读取器
Linux内核模块开发实战:用filp_open和vfs_read实现一个简易配置文件读取器 在Linux内核开发中,有时我们需要在内核态直接读取用户空间的配置文件。这种需求常见于需要动态加载配置的驱动程序、内核日志系统或特殊的内核服务。本文将带你从零开始构建一个…...
基于开源项目构建实时语音AI对话系统:从ASR、LLM到TTS的完整技术栈解析
1. 项目概述与核心价值 最近在折腾一个挺有意思的东西,一个叫 bigsk1/voice-chat-ai 的开源项目。简单来说,它让你能和一个AI进行实时的语音对话,就像打电话一样。你对着麦克风说话,AI不仅能听懂,还能思考࿰…...
超越基础扫描:实战解析Tessent ATPG中的Clock PO与RAM Sequential Patterns如何提升故障覆盖率
超越基础扫描:实战解析Tessent ATPG中的Clock PO与RAM Sequential Patterns如何提升故障覆盖率 在数字电路测试领域,达到95%以上的故障覆盖率曾是许多DFT工程师的终极目标,直到他们遇到了时钟驱动输出和嵌入式RAM模块。这些特殊结构如同电路…...
GIT 切换分支合并分支前一定要先 fetch,一定要选择远程分支进行操作
测试 GIT 切换分支 合并分支 1、切换和合并分支时,要选择远程的分支,确保本地的代码是最新的 2、切换分支前不 fetch3、切换分支前先点 fetch4、合并分支前不 fetch5、合并分支前先 fetch...
