首页 > 其他分享 >RK3588开发笔记(一):基于方案商提供的宿主机交叉编译Qt5.12.10

RK3588开发笔记(一):基于方案商提供的宿主机交叉编译Qt5.12.10

时间:2023-10-06 20:33:51浏览次数:33  
标签:10 Qt RK3588 宿主机 ht 编译 交叉 sysroot Qt5.12

前言

  rk3588开发车机,方案上提供的宿主机只是编译rk sdk的版本,并未编译好Qt,那么需要自行交叉编译Qt系统。选择的Qt的版本为5.12.10。

 

宿主机准备

  下载并打开宿主机,只有sdk,并没有交叉编译的Qt。
  在这里插入图片描述

 

Qt准备

  下载Qt5.12.10的开源软件(方案商提供)。
  在这里插入图片描述

 

交叉编译工具准备

  下载提供的交叉编译工具链(方案商提供)。
  在这里插入图片描述

 

编译sysroot文件系统准备

  下载编译依赖的目标编译系统(方案商提供)
  在这里插入图片描述

 

开始交叉编译Qt

步骤一:解压编译工具链

cd ~/tool
tar xvf aarch64-rockchip1031-linux-gnu.tar.gz

  在这里插入图片描述

  发现单独提供的tool没有bin下的g++工具,于是只好对比一下,发现开发板给过来是一样的,有bin:
  在这里插入图片描述

  于是copy过去,直接使用sdk的tool了:
  在这里插入图片描述

  在这里插入图片描述

步骤二:配置好系统环境,引入交叉编译工具

  建立一个env.sh脚本:
  在这里插入图片描述

#!/bin/sh
export PATH=$PATH:/home/ht/work/tool/toolchain/bin

  使用路径:

source env.sh

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  发现与方案上给过来的平台不匹配,但是都是连接到同一个目标了,先直接干试一试。
  在这里插入图片描述

步骤三:解压sysroot

  在编译过程中,基本是不会依赖编译目标系统得库,所以一般都无需配置sysroot,如果依赖,比如编译支持ffmpeg的opencv则依赖交叉编译系统已经编译完的ffmpeg,则讲ffmpeg放入sysroot,也可以直接单独引入额外的库,方式很多,不深究。
  在这里插入图片描述

步骤四:解压qt源码

cd ~/work/src
tar xvf qt-everywhere-src-5.12.10.tar.xz

  在这里插入图片描述

  在这里插入图片描述

步骤五:配置Qt

  修改平台配置文件:

cd /home/ht/work/src/qt-everywhere-src-5.12.10/qtbase/mkspecs/linux-aarch64-gnu-g++
gedit qmake.conf

  修改编译器的名称:
  在这里插入图片描述

  然后配置(这里使用平台配置,则需要定位平台配置文件,还有一种方式直接替换交叉编译器的前缀,但此处不是):
  这里建立个文件,方便调试,切换到qt的源码文件夹:
  在这里插入图片描述

   在这里插入图片描述

#!/bin/bash
./configure \
  -prefix /home/ht/work/build-qt5.12.10 \
  -sysroot /home/ht/work/sysroot \
  -confirm-license \
  -opensource \
  -release \
  -make libs \
  -xplatform linux-aarch64-gnu-g++ \
  -no-opengl \
  -no-feature-completer \
  -verbose

  然后配置:

chmod +x mk.sh
./mk.sh

  在这里插入图片描述
  这里有一次入坑编译失败,是路径用户设置为yang,实际为ht,所以root路径找不到的导致的:
  在这里插入图片描述

  Ht为用户,/home/ht/xxx配置成功了:
  在这里插入图片描述

步骤六:编译Qt

  先使用多线程:

make -j8

  在这里插入图片描述
  在这里插入图片描述

  再跑一次单make。(会出现各种各样的错误,同样的虚拟机同样的代码也会有不同的错误,遇到问题的时候,首先尝试解决,解决不了想办法绕过去,如果真的遇到兼容性问题,就不是一下能解决的,所以一般都是提供编译好的虚拟机了)。

make

  在这里插入图片描述

步骤七:安装Qt

make install

标签:10,Qt,RK3588,宿主机,ht,编译,交叉,sysroot,Qt5.12
From: https://www.cnblogs.com/qq21497936/p/17744972.html

相关文章

  • K8s Pod与宿主机时区不同步
    目录本机替换上海时间一、通过定制Dockerfile添加时区二、通过将时区文件挂在到Pod中三、通过环境变量定义时区四、修改k8s表空间时区本机替换上海时间sudotimedatectlset-timezoneAsia/Shanghai&&sudontpdatetime.windows.com一、通过定制Dockerfile添加时区$catDockerf......
  • 震撼登场,全国产RK3588J工业核心板,让您的产品更具特色!八核2.4GHz!
    RK3588J全国产工业核心板10月正式出售如需预定,请与创龙科技联系。更多详情,请登录创龙科技天猫旗舰店。瑞芯微RK3568J、RK3588J技术交流QQ群:567208221,欢迎加入!......
  • k8s 监控(四)监控宿主机
    原文链接:https://juejin.cn/post/6844904057098731534k8s监控的第四篇文章,这篇文章讲的是监控宿主机的指标。官方和大部分使用者都会使用node_exporter完成此项工作,但是我更喜欢telegraf。原因在于node_exporter有以下几大痛点:指标太多,仅cpu而言,每个cpu核心都有6......
  • 迅为RK3588核心板在工业机器人控制产品中的应用方案
     迅为RK3588核心板在工业机器人控制产品中可以发挥重要作用,为工业自动化和机器人控制提供高性能的计算和多媒体处理能力。以下是RK3588核心板在工业机器人控制产品中的应用方案:   运动控制:RK3588核心板可以用于控制工业机器人的运动,包括关节控制、轨迹规划和速度控制。......
  • iTOP-RK3588开发板更新RKNN模型
    RKNN是RockchipNPU平台(也就是开发板)使用的模型类型,是以.rknn结尾的模型文件。RKNNSDK提供的demo程序中默认自带了RKNN模型,在RKNNSDK的examples/rknn_yolov5_demo/model/RK3588/目录下,如下图所示:如使用自己的模型需要转换成rknn模型,转换方法可以参考......
  • 迅为RK3588开发板修改编译工具路径
    1因为此章节以rknn_yolov5_demo在RK3588Linux64位平台上运行为例,所以修改examples/rknn_yolov5_demo/build-XXX.sh的编译工具路径,如下图所示:2修改build-linux_RK3588.sh文件,将TOOL_CHAIN修改为gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu的解压路径并保存修......
  • 迅为RK3588在 Linux 系统中使用 NPU
    下载rknpu2并拷贝到虚拟机Ubuntu,RKNPU2提供了访问rk3588芯片NPU的高级接口。下载地址为“iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\12_NPU使用配套资料\01_rknpu2工具”对于RK3588来说,Linux平台RKNNSDK库文件为librknnrt.so,RK3588平台RKNNSDK包......
  • 迅为RK3588在 Linux 系统中使用 NPU
     下载rknpu2并拷贝到虚拟机Ubuntu,RKNPU2提供了访问rk3588芯片NPU的高级接口。下载地址为“iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\12_NPU使用配套资料\01_rknpu2工具”对于RK3588来说,Linux平台RKNNSDK库文件为librknnrt.so,RK3588平台RKNNSD......
  • RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo
    前言  在之前的博文中已经搭建好了一个比较完善的ubuntu宿主机,都很完善了但是发现没有Qt交叉编译开发环境,所以还需要搭建一套Qt交叉编译开发环境。<br>补充说明  本篇是基于《RK3568开发笔记(三):RK3568虚拟机基础环境搭建之更新源、安装网络工具、串口调试、网络连接、文件传......
  • RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo
    前言  在之前的博文中已经搭建好了一个比较完善的ubuntu宿主机,都很完善了但是发现没有Qt交叉编译开发环境,所以还需要搭建一套Qt交叉编译开发环境。 补充说明  本篇是基于《RK3568开发笔记(三):RK3568虚拟机基础环境搭建之更新源、安装网络工具、串口调试、网络连接、......