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

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

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

瑞芯微开发专栏

上一篇:没有了
下一篇:《RK3588开发笔记(二):基于方案商提供sdk搭建引入mpp和sdk的宿主机交叉编译Qt5.12.10环境


前言

  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

上一篇:没有了
下一篇:《RK3588开发笔记(二):基于方案商提供sdk搭建引入mpp和sdk的宿主机交叉编译Qt5.12.10环境


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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 19:26:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 19:26:01       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 19:26:01       82 阅读
  4. Python语言-面向对象

    2023-12-08 19:26:01       91 阅读

热门阅读

  1. 软件测试——集成测试

    2023-12-08 19:26:01       60 阅读
  2. 基于libcurl使用c语言实现http客户端的基础框架

    2023-12-08 19:26:01       43 阅读
  3. vue代码中上传二维码图片,并识别内容

    2023-12-08 19:26:01       56 阅读
  4. 【AI】Pytorch神经网络分类初探

    2023-12-08 19:26:01       54 阅读
  5. AI发展下服务器的选择非常重要

    2023-12-08 19:26:01       47 阅读
  6. 消融实验:深度学习的关键分析工具

    2023-12-08 19:26:01       62 阅读
  7. Mysql、Oracle区分大小写?

    2023-12-08 19:26:01       59 阅读
  8. python使用conda管理多个环境

    2023-12-08 19:26:01       60 阅读