RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试

news2025/1/19 20:27:19

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132733901

红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

瑞芯微开发专栏

上一篇:《RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏镜像+支持hdmi屏镜像)》
下一篇:敬请期待…


前言

  在之前的博文中已经搭建好了一个比较完善的ubuntu宿主机,都很完善了但是发现没有Qt交叉编译开发环境,所以还需要搭建一套Qt交叉编译开发环境。


补充说明

  本篇是基于《RK3568开发笔记(三):RK3568虚拟机基础环境搭建之更新源、安装网络工具、串口调试、网络连接、文件传输、安装vscode和samba共享服务》的虚拟机上进行Qt交叉编译搭建的。


在ubuntu上安装桌面版Qt

  (PS:这里就是安装qt的ubuntu开发环境,包含了qtcreator和支持gcc的编译器的桌面编译板本。)

步骤一:下载Qt5.14.2

  在这里插入图片描述

步骤二:安装桌面板本

  (PS1:安装qt的时候,请先断网,不然一定要登录)
  (PS2:qt5.14.2是官方给的板本,非必要前提下最好不要自行更改板本)
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  安装完成,打开QtCreator,如下图:
  在这里插入图片描述


创建一个hello world应用Demo

步骤一:新建Qt项目

  新建一个testDemo测试工程:
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  这里注意是桌面gcc板本:
  在这里插入图片描述

步骤二:做一个简单的工程

  让其使用全屏/正常显示切换:
  在这里插入图片描述

步骤三:本机运行测试

  在这里插入图片描述

  点击“全屏切换”:
  在这里插入图片描述


# 在ubuntu上搭建交叉编译Qt编译器(测试官方提供的buildroot的qt板本)   (PS:官方提供的是buildroot的qt交叉编译环境,这里我们先测试一下是否可以使用该板本的进行显示)。 ## 步骤一:下载解压   下载官方提供的编译qt的包:   ![在这里插入图片描述](https://img-blog.csdnimg.cn/c832d377c5d742cc853fdbad15a9eddb.png)

  放到宿主机上,解压:
  在这里插入图片描述

步骤二:打开QtCreator配置环境

  配置Qt板本的qmake
  在这里插入图片描述

  在这里插入图片描述

  配置交叉编译器gcc
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  然后新建编译套件:
  在这里插入图片描述

  在这里插入图片描述

步骤三:工程切换至buildroot套件

  在这里插入图片描述

步骤四:编译工程

  在这里插入图片描述

  在这里插入图片描述

步骤五:弄到开发板上去,使用sftp过去

  Ubuntu带了常用的ssh和stfp,用户名和密码都是topeet,所以可以使用常规方式filezile传递过去,运行发现少库,先测试个简单的c工程,再看有没有必要把qt的东西移植过去:
  在这里插入图片描述

  查找交叉编译器文件夹,sysroot里面是有的:
  在这里插入图片描述

  给他弄过去:
  在这里插入图片描述

  在这里插入图片描述

  检查sysroot:
  在这里插入图片描述

  发现没copy过去?(之前是usr/lib,这是在usr/local/lib了)
  在这里插入图片描述

  再次copy(发现Qt5也在,省的单独弄了):
  在这里插入图片描述

  Copy失败,发现大小不够(lib打包有1.4个G,这里只有800MB不到了,就算单独抽出Qt的全库也不止800MB,身为):
  在这里插入图片描述


小结

  用buildroot-qt的交叉编译器编译出来的可以放到ubuntu上,因为他们内核和交叉编译器板本是一样的,ubuntu也是用交叉编译器去构建了的。
  在这里插入图片描述

  但是因为,空间小了,带qt的库移植不过去(后续还需要移植Qt,ffmpeg过去,还有Qt应用,相对比较麻烦,所以不继续了),更换buildroot的系统(因为已经弄好了qt库,然后ubuntu原先以为支持额外usb触摸屏,现在也不支持,那么更换buildroot更合适了)

红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

瑞芯微开发专栏

上一篇:《RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏镜像+支持hdmi屏镜像)》
下一篇:敬请期待…


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/132733901

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

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

相关文章

【C++】—— 单例模式详解

前言: 本期,我将要讲解的是有关C中常见的设计模式之单例模式的相关知识!! 目录 (一)设计模式的六⼤原则 (二)设计模式的分类 (三)单例模式 1、定义 2、…

MySQL的故事——创建高性能的索引

创建高性能的索引 文章目录 创建高性能的索引一、索引基础二、索引的优点三、高性能的索引策略 一、索引基础 要理解MySQL中索引是如何工作的,最简单的方法就是去看看一本书的“索引 ”部分:如果在一本书中找到某个特定主题,一般会先看书的“…

Linux修复损坏的文件系统

如何判断文件系统是否损坏 当文件系统受损时,将会出现一些明显的迹象。例如,文件或文件夹无法访问、文件大小异常、系统启动慢或无法启动等。此外,系统也可能发出一些错误信息,如"Input/output error"、"Filesyst…

怎么观察敌人的具体情况

怎么观察敌人的具体情况? 【安志强趣讲《孙子兵法》第32讲】 【原文】 杖而立者,饥也;汲而先饮者,渴也;见利而不进者,劳也;鸟集者,虚也;夜呼者,恐也&#xff…

Nginx参数配置详细说明【全局、http块、server块、events块】【已亲测】

Nginx重点参数配置说明 本文包含Nginx参数配置说明全局块、http块、server块、events块共计30多个参数配置与解释,其中常见参数包含配置错误出现的错误日志,能让你更快的解决问题。 该文的所有参数大部分经过单独测试,错误都是自己收集出来的…

【opencv】多版本安装

安装opencv3.2.0以及对应的付费模块 一、安装多版本OpenCV如何切换 按照如下步骤安装的OpenCV,在CMakeLists.txt文件中,直接指定opencv的版本就可以找到相应版本的OpenCV,为了验证可以在CMakeLists.txt文件中使用如下指令输出版本验证&…

26.篮球练习

题目 Description 小徐酷爱打篮球,在小学期的前两周半都在练习篮球。 今天,小徐想要练习如何突破。练习场地可由如下所示的网格图表示,图中的位置可用坐标表示。 其中A点(0,0)为小徐的起始位置,B点(n,m)为小徐想要到达的位置。…

漏洞分析|Adobe ColdFusion WDDX 序列化漏洞利用

0x01 概述 在上一篇有关 Adobe ColdFusion 序列化漏洞(CVE-2023-29300)的文章中,我们对已公开的 JNDI 利用链(CVE-2023-38204)进行了复现。JNDI 利用链受目标出网的限制,在不出网的情况下无法很好地利用。…

二叉树的递归遍历和非递归遍历

目录 一.二叉树的递归遍历 1.先序遍历二叉树 2.中序遍历二叉树 3.后序遍历二叉树 二.非递归遍历(栈) 1.先序遍历 2.中序遍历 3.后序遍历 一.二叉树的递归遍历 定义二叉树 #其中TElemType可以是int或者是char,根据要求自定 typedef struct BiNode{TElemType data;stru…

核心实验11合集_hybrid接口特殊用法_ENSP

项目场景一: 核心实验11合集_hybrid接口特殊用法_ENSP 前期用户少,只有一个vlan段,如今需要划分不同vlan,使用hybrid接口实现。(不可更改ip地址) 实搭拓扑图: 具体操作: sw1: [sw1…

​Bigemap软件在农业行业中的应用

​Bigemap软件在农业上面的一些应用 在农业工作者平时的工作应用中 Bigemap可以帮助农业用户更好地管理土地、作物和水资源 ;提高农业生产效率和质量 ;以及 野外调查定位,地层分析论证,水文地质调查等, 大部分的农业…

TypeScript断言

什么是断言? 一个编译时语法,用于告诉编译器用户比编译器更加确定变量的类型,进而解除编译错误,类型断言有点类似于其他语言的类型转换,但它没有运行时的影响,只是在编译阶段起作用。所以,即使通…

typescript删除array中的空值

使用.flat() 可以看到,调用之后空值被清清除了,如果本身就是1维数组就无所谓,但如果本身是多维数组,又不想数组维度被改变的话就需要传入0,才不会导致数据维度改变

如何启动股票量化系统QTYX-Python3.7/3.9环境安装Anaconda+Pycharm及TaLib

前言 我们的股票量化分析系统QTYX提供两种形式使用: EXE安装文件。好处是不需要安装Python环境,双击安装EXE文件就能使用QTYX的功能。Python源码。好处是可以学习和调试源码,并且在此基础上二次开发,把自己的想法加进去&#xff0…

Bigemap软件在农业上面的一些应用

在农业工作者平时的工作应用中 Bigemap可以帮助农业用户更好地管理土地、作物和水资源 ;提高农业生产效率和质量 ;以及 野外调查定位,地层分析论证,水文地质调查等, 大部分的农业用户在Bigemap软件上需要使用到以下 的…

ViTPose+:迈向通用身体姿态估计的视觉Transformer基础模型 | 京东探索研究院

身体姿态估计旨在识别出给定图像中人或者动物实例身体的关键点,除了典型的身体骨骼关键点,还可以包括手、脚、脸部等关键点,是计算机视觉领域的基本任务之一。目前,视觉transformer已经在识别、检测、分割等多个视觉任务上展现出来…

IOC和注解

想要学好spring,必须时时刻刻想着,spring的本质就是一个容器,放java对象的容器,java对象在spring容器中也叫做bean对象。 文章目录 一、spring介绍1、什么是框架2、框架的作用![在这里插入图片描述](https://img-blog.csdnimg.cn…

0014Java程序设计-springboot旅行景点推荐系统

摘要目 录概述1.1研究背景1.2 开发意义1.3 研究现状1.4 研究内容1.5 论文结构 系统实现开发环境 摘要 互联网的广泛运用给生活带来很多便捷。 因而,将旅游地介绍与现如今互联网紧密结合,利用Java技术搭建旅游地强烈推荐系统,完成旅游地强烈推…

港陆证券:电子竞技传来重磅消息!概念股上半年业绩普增

国际奥委会宣布建立电子竞技委员会。 据央视新闻报道,北京时间9月6日,国际奥委会在官网发布音讯,国际奥委会有史以来将初次展望电子竞技的未来,建立一个全新的电子竞技委员会。 国际奥委会主席巴赫表明,虚拟体育有着…

Geopy 笔记:计算距离

1 介绍 Geopy使用测地线距离或大圆距离来计算两点之间的地理距离,其中默认使用测地线距离(geopy.distance.distance) 大圆距离(great_circle)使用地球的球形模型,,半径为6371.0087714150598 公…