全志 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.mzph.cn/news/797806.shtml

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

相关文章

武汉星起航:打造亚马逊一站式孵化平台引领电商新风潮

2020年正式成立后,武汉星起航持续深耕亚马逊自营店铺运营,不断拓展跨境电商业务。公司凭借专业运营团队和多年经验为合作伙伴提供深入合作模式,迅速崭露头角。推出亚马逊一站式孵化平台,为卖家提供全方位支持,彰显了公…

[RAM] HBM 导论 | 为什么我们需要 HBM?

主页: 元存储博客 文章目录 前言1. 什么是 HBM2. HBM 发展2.1 HBM 起源2.2 HBM 简史 3. HBM 3D 结构原理4. 为什么需要 HBM5. HBM 生产商家6. HBM 封装厂家7. HBM 应用8. HBM 挑战8.1 工艺成本8.2 量产良率问题8.3 散热问题 总结 前言 在AI时代的浪潮中&#xff0c…

vue项目入门——index.html和App.vue

vue项目中的index.html文件 在Vue项目中,index.html文件通常作为项目的入口文件,它包含了Vue应用程序的基础结构和配置。 该文件的主要作用是引入Vue框架和其他必要的库,以及定义Vue应用程序的启动配置。 import Vue from vue import App …

Android Studio学习8——点击事件

在xml代码中绑定 在java代码中绑定 弹出一个toast 随机,数组

H5 点击图片翻转效果

需求 ☑ h5 实现点击图片得到的是放大的镜像图片(不是放大镜效果 而是实现图片镜像对折,左右翻转) ☑ 鼠标点击后原图消失/隐藏,在原来的位置上取而代之的是翻转后的图(除了翻转之外不要改变其他的性质,比…

Langchain教程 | langchain+OpenAI+PostgreSQL(PGVector) 实现全链路教程,简单易懂入门

前提: 在阅读本文前,建议要有一定的langchain基础,以及langchain中document loader和text spliter有相关的认知,不然会比较难理解文本内容。 如果是没有任何基础的同学建议看下这个专栏:人工智能 | 大模型 | 实战与教程…

【CicadaPlayer】demuxer_service中DASH的简单理解

DASH协议 dash 是属于demuxer模块的 MPEG-DASH是一种自适应比特率流技术,可根据实时网络状况实现动态自适应下载。和HLS, HDS技术类似, 都是把视频分割成一小段一小段, 通过HTTP协议进行传输,客户端得到之后进行播放;不同的是MPEG-DASH支持MPEG-2 TS、MP4(最新的HLS也支持…

Linux 多线程

目录 初识线程 线程的概念 Linux下的线程 线程优缺点 线程控制 线程创建 线程终止 线程等待 线程分离 线程取消 其它 线程互斥 互斥的概念 互斥锁的使用 锁的本质 线程同步 线程同步的概念 条件变量的概念 条件变量的使用 信号量 信号量的概念 信号量接口…

非机构化解析【包含PDF、word、PPT】

此项目是针对PDF、docx、doc、PPT四种非结构化数据进行解析,识别里面的文本和图片。 代码结构 ├── Dockerfile ├── requirements ├── resluts ├── test_data │ ├── 20151202033304658.pdf │ ├── 2020_World_Energy_Data.pdf │ ├── …

【Web】纯萌新的BUUCTF刷题日记Day1

目录 [RoarCTF 2019]Easy Java [网鼎杯 2018]Fakebook [CISCN2019 华北赛区 Day2 Web1]Hack World [BJDCTF2020]The mystery of ip [网鼎杯 2020 朱雀组]phpweb [BSidesCF 2020]Had a bad day [BJDCTF2020]ZJCTF,不过如此 [BUUCTF 2018]Online Tool [GXYCTF…

虚拟主机VPS和共享服务器有什么区别?VPS和共享服务器怎么选择,VPS和云服务器区别

今天易极赞小编来跟大家科普一个新的知识“虚拟主机和云服务器有什么区别?”看完这篇文章后你应该就能知道虚拟主机和云服务器哪个更适合你了。 如果你不知道服务器的常见类型有哪些,查看下面这篇文章: 服务器7中常见的类型,服务…

【C语言】如何判断一个机器的大小端

如何判断一个机器的大小端 一:什么是机器的大小端二:为什么会有大小端三:设计一个小程序来判断当前机器的大小端方法一:指针类型强转方法二:联合体 一:什么是机器的大小端 机器的大小端是指在内存中存储多…

【移动安全】对webview漏洞的一些分析

这次分析的app如下: 打开发现该app发现需要登录界面: 拖进jadx看一下,先来看一下AndroidManifest.xml文件 发现有两个类是导出,再来分析这两个类 这个RegistrationWebView类利用webview.loadUrl进行加载网页 java public class…

JS——判断节假日(假日包括周末,不包括调休上班的周末)

思路:创建两个数组,数组1为节假日数组,数组2为是周末上班日期数组。如果当前日期(或某日期)同时满足2个条件(1.在节假日数组内或在周末。2.不在周末上班日期数组)即为节假日,否则即为…

SystemC入门学习Demo用例的工程化配置

背景:对不同的用例文件,使用CMakeLists.txt进行工程化管理的演示,这样开发者可以更加关注在代码开发上。 1,首先安装好系统环境的systemC库:ubuntu系统安装systemc-2.3.4流程-CSDN博客 2,准备好一个demo用…

再续前缘——C++【入门】

目录 1. 引用 引用概念 使用场景 1. 做参数 2. 引用做返回值 3.传值、传引用效率比较 4. 引用和指针的不同点 2. 内联函数 3.auto关键字 推导应用场景 auto不能推导的场景 4.基于范围的for循环(C11) 5.指针空值nullptr(C11) 1. 引用 引用概念 引用不是新定义一个…

JUC:手写实现一个简易的线程池(Java)

目录 ​编辑 先上完整代码: 解析: 任务队列: 线程池类: 拒绝策略: 先上完整代码: public class MyThreadPool {public static void main(String[] args) {ThreadPool threadPool new ThreadPool(2, …

Linux进程状态深度解析:探索进程的生命周期

文章目录 一、引言1、进程的概念与重要性2、Linux系统下进程状态的意义3、进程状态与系统性能的关系 二、Linux下进程状态概述1、Linux进程状态的分类2、进程状态信息的获取方法 三、Linux下进程状态详解1、运行状态(Running)2、可中断睡眠状态&#xff…

27.WEB渗透测试-数据传输与加解密(1)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:26.WEB渗透测试-BurpSuite(五) BP抓包网站网址:http:…

实现Hello Qt 程序

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、使用 "按钮" 实现 1、纯代码方式实现 2、可视化操作实现 (1&#xff09…