全志 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/588144.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go连接数据库(原生)

根据官网文档 Go Wiki: SQL Database Drivers - The Go Programming Language 可以看到go可以连接的关系型数据库 ​ 常用的关系型数据库基本上都支持,下面以mysql为例 下载mysql驱动 打开上面的mysql链接 GitHub - go-sql-driver/mysql: Go MySQL Driver i…

QT5-qmediaplayer播放视频及进度条控制实例

qmediaplayer是QT5的播放视频的一个模块。它在很多时候还是要基于第三方的解码器。这里以Ubuntu系统为例,记录其用法及进度条qslider的控制。 首先,制作一个简单的界面文件mainwindow.ui: 然后,下载一个mp4或其他格式视频&#x…

C语言 | Leetcode C语言题解之第5题最长回文子串

题目&#xff1a; 题解&#xff1a; char* longestPalindrome(char* s) {int lenstrlen(s),max0;int p0;for(int i0;i<len;i)//这种是判断奇数回文{int lefti-1,righti1;//left左边&#xff0c;right右边while(left>0&&right<len&&s[left]s[right]){/…

是否有替代U盘,可安全交换的医院文件摆渡方案?

医院内部网络存储着大量的敏感医疗数据&#xff0c;包括患者的个人信息、病历记录、诊断结果等。网络隔离可以有效防止未经授权的访问和数据泄露&#xff0c;确保这些敏感信息的安全。随着法律法规的不断完善&#xff0c;如《网络安全法》、《个人信息保护法》等&#xff0c;医…

Linux提权!!!

上一篇文章讲了Windows的提权&#xff0c;那么这篇文章就来讲一下Linux的提权 1.SUID提权 suid权限 作用&#xff1a;让普通用户临时拥有该文件的属主的执行权限&#xff0c;suid权限只能应用在二进制可执行文件&#xff08;命令&#xff09;上&#xff0c;而且suid权限只能设置…

基于Springboot会员制医疗预约服务管理信息系统

采用技术 基于Springboot会员制医疗预约服务管理信息系统的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 功能清单 系统功能 首页 医院信息 坐诊信息…

大模型prompt技巧——思维链(Chain-of-Thought)

1、Zero-shot、One-shot、Few-shot 与fintune prompt的时候给出例子答案&#xff0c;然后再让模型回答。 2、zero-shot-CoT “Let’s think step by step”有奇迹效果 3、多数投票提高CoT性能——自洽性&#xff08;Self-consistency&#xff09; 多个思维链&#xff0c;然后取…

使用docker部署MongoDB数据库

最近由于工作需要搭建MongoDB数据库&#xff1a;将解析的车端采集的数据写入到数据库&#xff0c;由于MongoDB高可用、海量扩展、灵活数据的模型&#xff0c;因此选用MongoDB数据库&#xff1b;由于现公司只有服务器&#xff0c;因此考虑容器化部署MongoDB数据&#xff0c;特此…

微信开发工具——进行网页授权

微信开发工具——进行网页授权 微信公众平台设置 1.在首页创建好自己的订阅号 网站&#xff1a;https://mp.weixin.qq.com/ 点击立即注册,在选择订阅号&#xff08;个人创建使用&#xff09; 之后按流程填写后&#xff0c;点击设置与开发-------->基本配置&#xff0c;这…

软考高级架构师:性能评价方法概念和例题

一、AI 讲解 性能评价是衡量计算机系统或其组件在指定条件下执行预期任务的有效性的一种方式。性能评价的方法主要可以分为几种&#xff0c;每种方法都有其特点和适用场景。 性能评价方法 方法描述时钟频率法通过计算机的时钟频率来评估性能&#xff0c;时钟频率越高&#x…

Go 源码之 Chan

Go 源码之 chan go源码之chan - Jxy 博客 目录 Go 源码之 chan一、总结二、源码&#xff08;一&#xff09;hchan&#xff08;二&#xff09;创建&#xff08;三&#xff09;发送&#xff08;四&#xff09;接收&#xff08;五&#xff09;关闭 三、常见问题1.为什么要使用环形…

C++语言学习(三)——内联函数、auto、for循环、nullptr

1. 内联函数 &#xff08;1&#xff09;概念 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调 用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。 内联函数是一种编译器指令&#xff0c;用于告诉编译器…