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

前言

  在之前的博文中已经搭建好了一个比较完善的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更合适了)

相关推荐
stark张宇34 分钟前
分布式事务最全图解(6种方案):从强一致的2PC到最终对账,彻底搞懂数据一致性
分布式·后端
IT毕设实战小研1 小时前
基于大数据的WTA职业网球赛事演变与竞技格局数据可视化分析
大数据·后端·爬虫·python·信息可视化·课程设计
IT_陈寒1 小时前
Java字符串判等踩坑记:==和equals真的不能乱用
前端·人工智能·后端
小马过河R1 小时前
微信小程序自定义登录态维护:从入门到生产级落地
后端·微信小程序·小程序·架构·登录态
计算机学姐2 小时前
基于SpringBoot的高校爱心慈善管理系统
java·vue.js·spring boot·后端·spring·tomcat·mybatis
vx+_bysj68692 小时前
springboot 旅行小程序97353
spring boot·后端·小程序·旅行小程序
山岚的运维笔记2 小时前
mysql 专业笔记 -- 第 14 章:GROUP BY
运维·数据库·笔记·后端·学习·mysql·dba
凤城老人2 小时前
基于 Flask 的企业级 CMS 架构设计与实现
后端·python·flask
步行cgn12 小时前
YAML 的语法规则
spring boot·后端
骇客野人12 小时前
SpringBoot电商系统用户注册、登录、留存及数据埋点设计与落地实施方案
java·spring boot·后端