关于Buildroot如何配置qtwebengine [未能成功编译]

目录

前言

下载Buildroot

如何添加qtwebengine

开始make编译

编译过程中到了这些问题


前言

问题的开始就在于学习QT的过程中遇到了一个问题…

Unknown module(s) in QT: webenginewidgets

我想要把qt的一个项目编译并发送到我的开发板上,但是qmake识别不到这个模块。

由于我是在Ubuntu的环境下操作的,所以网上关于这个问题的资料比较少,大部分只能用做参考,对于初学者来说还是挺难受的,为了解决这个问题卡了我不少的时间…

胡乱用了许多方法无果,最终想buildroot配置,把qtwebengine这个模块添加进去,最后烧写到开发板上。

可惜最终还是未能彻底解决,这里把部分问题的解决过程贴出来,后续问题希望能有大神能不吝赐教。

下载Buildroot

这里我选择的是Buildroot-2022.2.3版本。

官网地址:https://buildroot.org/

找到我们的tar包,如果你想选择其他版本也是可以的,但是配置的步骤可能跟我的不太一样,不过解决问题的思路是一致的,可以看着参照一下。

Tips:如果下载的太慢,可以复制下载链接到其他下载器,这样会快很多。

拷贝到Ubuntu的家目录下,并解压

tar xf buildroot-2022.02.3.tar.gz

如何添加qtwebengine

由于我是按照正点原子教程配置的,所以这里我只讲怎么添加qtwebengine模块,其他配置大家按自己的需求来选,如果实在不会的话看这个:【正点原子MP157连载】第十九章 Buildroot根文件系统构建-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

进入到buildroot目录下

这里我是编译过的,所以多了一个output的文件,刚下载完的目录是没有的,所以不用担心。

首先下载显示图形菜单所需要的库

sudo apt-get install libncurses5-dev

打开配置菜单

make menuconfig

简单说明一下:

用我们键盘上的↑↓←→键来操控光标,回车键选择下方的五个操作,图中尾巴里有个箭头的就是目录,目录里面某个选项前 [ ] 表示未选中,**[ * ]**表示选中,按键盘上的 **“Y”选中、“N”**取消选中,详情看图上面那几行英文。

进入到Target packages目录中:

Target packages —>

Graphic libraries and applications(graphic/text) —>

[ * ] Qt5 —>

[ *] qt5webengine

[ *] proprietary codecs

选择这俩就可以了。

当然没有这么简单,实际情况应该是…

我们选中不了qt5webengine,这里提示说明了这个模块所需要的配置和依赖

先退回到上一个目录,找到mesa3d,进入并选中两个OpenGL

Target packages —>

Graphic libraries and applications(graphic/text) —>

[ * ] mesa3d —>

[ * ] OpenGL EGL

[ * ] OpenGL ES

退回到初始目录,进入Toolchain

Toolchain —>

C library (glibc) —>

(X) glibc

再退回到初始目录,进入System configuration,打开**/dev management**选择最后一项

System configuration —>

/dev management —>

(X) Dynamic using devtempfs + eudev

都搞定后回到Qt5的目录下看看,这下可以选择qt5webengine模块了!

保存Save,退出

开始make编译

编译需要占用的内存比较多,看一下自己的内存是否充足

free -h

为避免出现不必要的麻烦,我建议编译前增加一下自己的交换分区,跟着这篇文章做一遍:在make编译时,出现C++: fatal error:已杀死 signal terminated program cc1plus,解决办法

再查看一下分区的情况

df -h

我之前预留了10G都不够,导致开不了机,最后只能删掉编译的文件重新来过了…

Ubuntu空间不足,如何扩容(超详细讲解)

准备工作做好后开始编译

sudo make

花了我一晚上的时间终于!

呵呵,还是没能成功,编译日志如下:

编译中断:ninja: build stopped: subcommand failed.

这个问题我找不到有效的解决办法,这一篇情况跟我很像:Unable to build dev-qt/qtwebengine-5.15.2_p20210224 (SOLVED)

此时我的内存使用情况:

等我找到解决办法再更新吧,哎…

编译过程中遇到了这些问题

1.WARNING: unmet direct dependencies detected for BR2_PACKAGE_HOST_NODEJS

上述警告表明我们缺少BR2_PACKAGE_HOST_NODEJS

只需要选择相应的PACKAGE包就可以了。

我们先清除make产生的文件,再进入配置

sudo make cleanmake menuconfig

进入图形化配置界面后按键盘上的**“ /进入搜索,把BR2_PACKAGE_HOST_NODEJS**复制上去,得到如下结果

名称:host nodejs

位置:Host utilities

Host utilities —>

-*- host nodejs

如果你的编译器低于8的话会提示host nodejs needs a host gcc >= 8

退出,安装版本大于等于8的编译器:如何在 Ubuntu 18.04 上升级 gcc 到 9.4:一步步详细指南

2.Your Buildroot configuration needs a compiler capable of building 32 bits binaries.
If you’re running a Debian/Ubuntu distribution, install the g+±multilib package.
For other distributions, refer to their documentation.
support/dependencies/dependencies.mk:27: recipe for target ‘dependencies’ failed
make: *** [dependencies] Error 1

这个问题就是缺少g+±multilib,下载完gcc-9g+±9后执行如下命令

sudo apt install g++-9-multilib gcc-9-multilib

然后继续make

sudo make

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

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

相关文章

SNP与Scheer合作助力Warsteiner Brauerei成功升级至SAP S/4HANA

德国软件和咨询公司SNP是SAP环境中数字化转型、自动化数据迁移和数据管理软件的知名提供商,再次与德国Scheer公司合作,Scheer公司是一家专门从事业务流程管理和SAP咨询的咨询公司。他们为家族企业Warsteiner Brauerei Haus Cramer KG向SAP S/4HANA升级转…

【Super Tilemap Editor使用详解】(五):图块调色板

1、图块调色板(Tile Palette)可以在以下位置找到: Tileset Inspector检视面板 STETilemap Inspector检视面板,并选择 "Paint" 选项卡 Tile Palette 窗口:"SuperTilemapEditor/Window/Tile Palette Win…

LNMP+discuz论坛

0.准备 文章目录 0.准备1.nginx2.mysql2.1 mysql82.2 mysql5.7 3.php4.测试php访问mysql5.部署 Discuz6.其他 yum源: # 没有wget,用这个 # curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo[rootlocalhost ~]#…

TRELLIS,一键生成3D模型,图像转3D,微软开源

大家好!今天给大家分享微软最近开源的一个3D模型生成项目——TRELLIS。简单来说就是输入一张图片,它就能自动帮你生成3D模型。这与之前分享的TripoSR项目类似,但是精度和贴图细节比TripoSR要高很多。 好久没关注AI生成3D模型这块,…

开源架构学习指南:文档与资源的智慧锦囊

开源架构学习指南:文档与资源的智慧锦囊 一、引言二、开源架构文档的核心价值剖析(一)知识传承与共享:智慧的薪火相传1. 经典案例:Linux 内核文档 —— 开源世界的智慧基石 (二)促进协作与沟通&…

景联文科技:精准语音标注,驱动语音技术新发展

在人工智能迅速发展的今天,语音技术的应用已经渗透到我们生活的方方面面。从智能音箱、语音助手到自动语音识别系统,高质量的语音数据是这些应用成功的关键。景联文科技作为领先的AI数据服务提供商,专注于为客户提供高精度、高效的语音标注服…

HTTP接口报错详解与解决 200,500,403,408,404

前言: 仅做学习记录,侵删 背景 当后端编写接口时,经常需要对接口使用ApiFox或者PostMan进行测试,此时就会出现各种各样的报错,一般都会包括报错编码:200,400,401等。这个状态码一般是服务器所返回的包含…

NVIDIA发布紧凑型生成式AI超级计算机:性能提升,价格更低

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

upload-labs(1-19关)通关攻略

Pass-01 本关思路&#xff1a;删除前端js校验 进入第一关环境 桌面新建一个php文件&#xff0c;命名为1.php <?php eval($_POST[a]);?> 我们上传此文件&#xff0c;发现不允许上传&#xff0c;且页面没有变化&#xff0c;说明前端进行了拦截 这时我们打开 F12 &…

【开源库 | minizip】Linux(Ubuntu18.04)下,minizip的编译、交叉编译

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 2024-12-20 …

uniapp地址类 方法

关于点击没反应 manifest.json 检查是否添加了对应的权限 /* 小程序特有相关 */"mp-weixin" : {"appid" : "wxc481f10754f1d9df","setting" : {"urlCheck" : false,"es6" : true,"postcss" : true,&qu…

WebContainerapi 基础(Web IDE 技术探索 一)

前言 随着web技术的发展&#xff0c;在网页端直接运行node.js、实现微型操作系统已经不再是难事。今天介绍的 WebContainers就是一个基于浏览器的运行时&#xff0c;用于执行 Node.js 应用程序和操作系统命令&#xff0c;它完全运行在您的浏览器页面中&#xff0c;提供了文件系…

【爬虫开发】爬虫开发从0到1全知识教程第11篇:Mongodb数据库,介绍【附代码文档】

本教程的知识点为&#xff1a;爬虫概要 爬虫基础 爬虫概述 知识点&#xff1a; 1. 爬虫的概念 requests模块 requests模块 知识点&#xff1a; 1. requests模块介绍 1.1 requests模块的作用&#xff1a; 数据提取概要 数据提取概述 知识点 1. 响应内容的分类 知识点&#xff1a…

FFmpeg 安装教程(Windows 系统)

1. 前言 FFmpeg 是一个用于处理视频、音频等多媒体文件的开源工具包。它支持几乎所有的多媒体格式转换、剪辑和编辑&#xff0c;是开发者和多媒体工作者必备的工具。本文详细讲解如何在 Windows 系统上安装 FFmpeg 并进行基本配置。 2. 下载 FFmpeg 安装包 打开 Dpwnload FFmp…

【AutoDL】通过【SSH远程连接】【vscode】

小帅碎碎念 0. 起因1. SSH信息获取2. 给你的vscode安装支持SSH远程连接的插件3. SSH远程连接入口4. 输入密码登陆5. 总结 0. 起因 之前使用AutoDL和Jupyter进行代码编辑和执行确实很方便&#xff0c;尤其是对于交互式数据分析项目。然而&#xff0c;也存在一些限制和不便之处&…

C# 识别二维码

文章目录 一. 二维码识别技术概述二 维码识别的步骤图像预处理二维码的定位和检测二维码解码 三 常用的二维码识别库1. OpenCV2. ZXing.Net 一. 二维码识别技术概述 二维码是一种通过黑白矩阵排列来编码数据的图形符号&#xff0c;它的编码方式具有较强的容错性&#xff0c;可以…

如何在 Linux 服务器上部署 Pydio Cells 教程

简介 Pydio Cells 是一个开源的文档共享和协作平台&#xff0c;专为你的组织设计。它允许你在组织内部分享文档和文件&#xff0c;并让你完全掌控文档共享环境。 在本教程中&#xff0c;我们将向你展示如何在 Alma Linux 9 服务器上安装 Pydio Cells。你将使用 MariaDB 数据库…

OkHttp源码分析:分发器任务调配,拦截器责任链设计,连接池socket复用

目录 一&#xff0c;分发器和拦截器 二&#xff0c;分发器处理异步请求 1.分发器处理入口 2.分发器工作流程 3.分发器中的线程池设计 三&#xff0c;分发器处理同步请求 四&#xff0c;拦截器处理请求 1.责任链设计模式 2.拦截器工作原理 3.OkHttp五大拦截器 一&#…

(2024年最新)Linux(Ubuntu) 中配置静态IP(包含解决每次重启后配置文件失效问题)

Hello! 亲爱的小伙伴们&#xff0c;大家好呀&#xff08;Smile~&#xff09;&#xff01;我是Huazzi&#xff0c;欢迎观看本篇博客&#xff0c;接下来让我们一起来学习一下Ubuntu 中如何配置静态IP吧&#xff01;祝你有所收获&#xff01; 提前对Linux有所了解的小伙伴应该知道…

vue3渲染el-tree组件,给默认选中的节点,禁用所有子节点

实现逻辑&#xff1a;给默认选中节点的所有子节点添加一个disabled属性&#xff0c;以此禁用子节点。 编写代码 <template><el-tree :props"{ children: children, label: name }" :data"treeListData" show-checkbox node-key"id" r…