RK3588开发笔记(一):基于方案商提供的宿主机交叉编译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开发笔记(一):基于方案商提供的宿主机交叉编译Qt5.12.10的更多相关文章
- 运维开发笔记整理-基于类的视图(CBV)
运维开发笔记整理-基于类的视图(CBV) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.FBV与CBV 1>.什么是FBV FBC(function base views ...
- VS2017+QT5.12.10+QGIS3.16环境搭建及开发全流程
题记:大力发展生产力,助力高效采集.(转载请注明出处https://www.cnblogs.com/1024bytes/p/15477374.html) 本篇随笔分为五个部分: 一.获取QGIS3.1 ...
- 开发笔记:基于EntityFramework.Extended用EF实现指定字段的更新
今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)? 原先调 ...
- 2.4G无线射频通信模块nRF24L01+开发笔记(基于MSP430RF6989与STM32f0308)(1.(2)有错误,详见更正)
根据网上的nRF24L01+例程和TI提供的MSP430RF6989的硬件SPI总线例程编写程序,对硬件MSP-EXP430RF6989 Launch Pad+nRF24L01P射频模块(淘宝购买)进 ...
- RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
前言 buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪. 于是本篇就使用ubu ...
- Vakuum开发笔记01 开天辟地
1.缘起 先驱--COGS 早在2008年,我自学PHP后开发了COGS,并成功用于学校内部的OJ,ruvtex.也曾经对外开放过,但是由于学校网络不稳定,后来一直连不上了.我还把COGS推荐给了OO ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
1.前言 学习ArcGIS Runtime SDK开发,其实最推荐的学习方式是直接看官方的教程.示例代码和帮助文档,因为官方的示例一般来说都是目前技术最新,也是最详尽的.对于ArcGIS Runtim ...
- VS2019、Qt5.12及QGis3.16开发常见问题汇总
在C++.Qt软件开发过程中,常常遇到一些编译错误或警告:本文将VS2019.Qt5.12.10和QGis3.16.10的二次开发过程常见的问题做了整理,供大家参考,也便于日后查阅.该内容分为四部分: ...
- RGMII_PHY测试笔记1 基于开发板MiS603-X25
RGMII_PHY测试笔记1 基于开发板MiS603-X25 作者:汤金元 日期:20150817 公司:南京米联电子科技有限公司 博客:http://blog.chinaaet.com/detail ...
- 【应用笔记】【AN001】VC#开发环境下基于以太网的4-20mA电流采集(基于modbus tcp 协议)
版本:第一版 作者:毛鹏 杨帅 日期:20151108 简介 4-20mA电流环具有广泛的应用前景,在许多行业中都发挥着重要作用.本文主要介绍了以太网接口的4-20mA电流采集模块在VC#环境下进行温 ...
随机推荐
- [转帖]Kafka—配置SASL/PLAIN认证客户端及常用命令
https://www.jianshu.com/p/c1a02fb1779f 介绍 SASL/PLAIN 是一种简单的 username/password安全认证机制,本文主要总结服务端开启该认证 ...
- Python学习之十八_django的学习(二)
Python学习之十八_django的学习(二) 前言 前面学习了基本的django的使用. 这里想着稍微深入一点学习templates 以及进行级联的路由展示. 修改配置文件 要想使用 templa ...
- Python学习之二:不同数据库相同表是否相同的比较方法
摘要 昨天学习了使用python进行数据库主键异常的查看. 当时想我们有跨数据库的数据同步场景. 对应的我可以对不同数据库的相同表的核心字段进行对比. 这样的话能够极大的提高工作效率. 我之前写过很长 ...
- 将自签名创建的ca证书 添加到linux的授信证书列表的办法
第一步: 将ca 证书 从cert 格式转换成pem格式 openssl x509 -in ca.crt -out ca.pem -outform PE 第二步: 将ca 证书导入至系统中来 cat ...
- 在k8s中的控制器和部署服务-ReplicationController和ReplicaSet
pod 代表了 k8s 中的基本部署单元,但是在实际应用场景中,服务不可能是单个pod运行的,否则会出现"单点".在 k8s 中对 pod 的托管部署,专门抽象成了单独的资源.其中 ...
- k8s单master集群通过备份etcd还原集群
准备环境 通过kubeadm 安装的单master kubernetes 1.19+ 集群 容器环境:containerd 客户端工具:kubeadm.kubectl.etcdctl.crictl 备 ...
- 【小测试】golang中数组边界检查的开销大约是1.87%~3.12%
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 对比C/C++, golang等类型安全的语言会在数组访问 ...
- 【主流技术】实战之 Spring Boot 中集成微信支付(小程序)
前言 微信支付是企业级项目中经常使用到的功能,作为后端开发人员,完整地掌握该技术是十分有必要的. 以下是经过真实商业项目实践的集成步骤,包括注册流程.调用过程.代码demo(经过脱敏)等,希望我的分享 ...
- C/C++中的可变参数和可变参数模板
目录 1.说明 2.C语言中的可变参数 3.C++中的可变参数模板 2.1.使用递归的方式遍历 2.2.使用非递归的方式遍历 1.说明 不谈官方定义,就从个人理解上说,可变参数 就是函数传参的时候,不 ...
- VB6的WindowsXP控件引擎 - 开源研究系列文章
这几天翻了一下原来VB6的代码,将一些有用的代码进行了整理,然后将这些代码记录下来,开源出来,让需要的朋友能够进行代码复用. 这次介绍的是一个VB6的WindowXP的控件引擎代码,主要是在程序启动的 ...