RK3588的QT交叉编译环境搭建

主要参考为RK3568或RK3288开发板创建交叉编译环境{采用amd64的ubuntu系统配置交叉编译arm64开发环境}(保姆级包括安装QT)超详细记录版_rk3568交叉编译-CSDN博客

先说一下,使用的Ubuntu20.04.5版本,qt源码用的5.14.2版本,交叉编译器使用RK3588 SDK中的,在我这边的路径为/home/yml/Documents/firefly/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin

首先我们配置一下环境变量,将交叉编译器的路径写入PATH,步骤如下所示

sudo vi ~/.bashrc

source ~/.bashrc

验证方式如下,不用带绝对路径就可以查到交叉编译器版本信息即为OK

下面我们先解压qt源码,然后进入目录 ./qt-everywhere-src-5.14.2/qtbase/mkspecs,可以看到里面有很多工具链,找到一个跟RK3588很接近的arm64位的工具链,我们复制一份并改名为aarch64-none-linux-gnu-g++

我们进到aarch64-none-linux-gnu-g++这个目录里,打开qmake.conf文件并将里面的编译器改为我们要用的RK3588的交叉编译器

接下来再回到qt-everywhere-src-5.14.2目录,准备开始编译,这里面-xplatform后面就是我们刚刚在 ./qt-everywhere-src-5.14.2/qtbase/mkspecs下新建的aarch64-none-linux-gnu-g++名称,而/opt/rk-qt5.14则为安装目录

#配置编译参数
./configure -release -opensource -shared -confirm-license -xplatform aarch64-none-linux-gnu-g++ -prefix /opt/rk-qt5.14 -make libs -nomake examples -nomake tests -skip qtmacextras -skip qtandroidextras -no-opengl 

看到下面信息表示配置成功,配置完毕后会生成makefile ,输入make进行编译

编译完成后sudo make install将它安装到指定目录 

如果编译安装过程中报错了也没有太大问题,看看qmake是不是已经生成了,只要生成了就OK

接下来配置环境,首先添加交叉编译器GCC和G++

 然后选择刚编译好的qmake

 新建开发套件,选中刚刚添加的工具

我们拿hello world例程做测试,编译工具选成刚刚设置的RK3588

 

点击小锤子图标构建(不能点运行,因为还没有添加设备) ,生成了hello,我们可以看一下,已经是aarch64平台的了,之后拷到RK3588板上即可运行

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】一些Shell脚本编程基础题

目录 一、比较两个数的大小 二、求1-100的素数和 三、编写shell脚本,输入一个数字n并计算1~n的和,同时要求如果输入的数字小于1,则重新输入,直到输入正确的数字为止。 四、编写一个shell脚本用来进行成绩等级评定,…

数据的表现形式(2)

汉字字形码 字形码也叫字模或汉字输出码。字形码是表示汉字字型信息的编码,用来实现计 算机对汉字的输出 如一个16*16点阵的字形码就需要16*16/8个字节的存储空间 二进制的运算 在定点二进制运算中,减法运算一般通过【补码运算的二进制加法器】 进制三要…

Vision - 开源视觉分割算法框架 Grounded SAM2 配置与推理 教程 (1)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/143388189 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Ground…

深度学习基础—语言模型和序列生成

引言 深度学习基础—循环神经网络(RNN)https://blog.csdn.net/sniper_fandc/article/details/143417972?fromshareblogdetail&sharetypeblogdetail&sharerId143417972&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link 上…

leetcode-3-无重复字符的最长子串

题解: 1、初始化一个字典dic_hash{}。 2、初始化左指针i-1,右指针j为s的索引。 #3、初始化变量res1用3 2Q#来 |} 】、 代码:

readhat虚拟机基本操作

1.用cat显示/etc/passwd,并显示行号 2.在当前目录下创建空文件夹/web/test1 3.查看当前工作目录的命令 4.显示环境变量$PATH 5. 查看/tmp/目录的使用空间 6. 删除空目录old 要删除old,要先建立old目录---mkdir old,然后ls查看是否建立成功,再…

Java面试经典 150 题.P80. 删除有序数组中的重复项 II(004)

本题来自:力扣-面试经典 150 题 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台https://leetcode.cn/studyplan/top-interview-150/ 题解: class Solution {public int removeDuplicates(int[] nums)…

基尼指数(Gini Impurity)的理解和计算

基尼不纯度简介 - Gini Impurity - 吕汉鸿 - 博客园 先看上面这个博文!!!然后再看下面的,下面这个原博文有一点问题。已修正,修正后的完整内容如下 一、基尼指数的概念 基尼指数(Gini不纯度)…

《股市行情预测软件:开发之路的探索与挑战》

《股市行情预测软件:开发之路的探索与挑战》 一、股市行情预测软件的重要性二、开发所需技术(一)数据收集与处理技术(二)数据分析技术(三)算法选择与应用(四)编程语言与开…

整合全文检索引擎 Lucene 添加站内搜索子模块

整合全文检索引擎 Lucene: 添加站内搜索子模块 1. 什么是 Lucene ? 有啥优势? Lucene 是一个开源的全文检索引擎库,由 Apache 基金会维护,官网地址:https://lucene.apache.org/ 。它提供了丰富的文本处理和搜索功能&#xff0c…

OceanBase详解及如何通过MySQL的lib库进行连接

OceanBase详解及如何通过MySQL的lib库进行连接 一、引言二、OceanBase概述1. 起源与发展2. 核心技术特点3. 应用场景三、OceanBase架构解析1. 系统架构2. 存储引擎3. 分布式架构四、如何使用MySQL的lib库连接OceanBase1. 前提条件2. 安装MySQL Connector/C3. 编写连接代码4. 编…

104. UE5 GAS RPG 实现技能火焰爆炸

这一篇文章我们再实现一个技能火焰爆炸,由于我们之前已经实现了三个玩家技能,这一个技能有一些总结的味道,对于创建技能相同的部分,长话短说,我们过一遍。 准备工作 我们需要一个技能类,继承于伤害技能基…

【力扣打卡系列】验证二叉搜索树

坚持按题型打卡&刷&梳理力扣算法题系列,语言为go,Day17 验证二叉搜索树 题目描述 解题思路 前序遍历:先访问节点值,再访问左右子树有效二叉搜索树的定义 节点的左子树只包含小于当前节点的数节点的右子树只包含大于当前节…

Swarm-LIO: Decentralized Swarm LiDAR-inertial Odometry论文翻译

文章目录 前言一、介绍二、相关工作三、方法A. 问题表述B. 框架概述C. 群体系统的初始化D. 去中心化激光雷达-惯性状态估计 四. 实验A. 室内飞行B. 退化环境飞行C. 去中心化部署 五. 结论和未来工作 前言 原文:原文 准确的自我状态和相对状态估计是完成群体任务的关…

京东毫秒级热key探测框架JD-hotkey

前言 对任意突发性的,无法预先感知的热点数据,包括热点数据(如突发大量请求同一个商品)、热用户(如恶意爬虫刷子)、热接口(突发海量请求同一个接口)等,一瞬间打到我们的服…

IntelliJ IDEA 中上传项目到 Gitee 的完整指南

博主主页:【南鸢1.0】 本文专栏:git 目录 简介 1.插入intellij-gitee 2.导入下载插件 3.选择导航栏中的VCS->Share Project on Gitee 4.登录gitee 6.验证gitee仓库是否创建成功 7.上传分享项目 8.验证仓库代码是否上传成功 总结 简介 Gitee 是一个代码…

低代码可视化-按钮open-type开放能力自定义-代码生成器

微信小程序原本确实不直接支持通过点击按钮将内容分享到朋友圈的功能,但微信在后续更新中逐步放开了部分限制,允许特定内容以小程序卡片的形式分享到朋友圈。然而,这一功能仍然需要满足一定的条件,并且需要开发者进行特定的配置。…

基于springboot乐器视频学习网站设计与实现(源码齐全可用)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题,今天给大家介绍…

TypeScript:never 类型的神奇妙用

在 TypeScript 中,never 是一个特殊类型,表示「永不存在的值类型」,通常用于表示不可能发生的情况。它适用于抛出异常、不返回值的函数或处理逻辑上永远不会出现的分支。 以下是它的简单用法和注意事项: 1. never 的用法 1、抛…

Redis-结构化value对象的类型

文章目录 一、Redis的结构化value对象类型的介绍二、Redis的这些结构化value对象类型的通用操作查看指定key的数据类型查看所有的key判断指定key是否存在为已存在的key进行重命名为指定key设置存活时间pexpire与expire 查看指定Key的存活时间为指定key设置成永久存活 三、Redis…