当前位置: 首页 > article >正文

armsom产品qt交叉编译

一、 简介

本文将主要介绍一下Qt和armsom-RK系列板卡如何部署在板卡上进行开发。

硬件环境:armsom-sige3

系统版本:Debian11

PC端:Ubuntu 22.04

二、Qt Creator安装

Qt Creator 是一个跨平台的集成开发环境(IDE),专门用于开发基于 Qt 框架 的应用程序。Qt 是一个强大的 C++ 跨平台应用程序框架,广泛用于开发图形用户界面(GUI)应用程序、嵌入式系统、移动应用等。

2.1 PC上安装 Qt Creator

开发环境采用的是amd64 linux的系统,所以.run可以运行,我们在QT官网下载即可,版本自己选择即可,最好与后面要编译的qt对应起来
在这里插入图片描述

这里以5.13.2版本为例:

wget https://download.qt.io/archive/qt/5.13/5.13.2/qt-opensource-linux-x64-5.13.2.run

获取到源码包之后执行命令安装:

sudo chmod u+x qt-opensource-linux-x64-5.13.2.run

./qt-opensource-linux-x64-5.13.2.run

之后就是按照默认安装,选择安装的路径就行了。

安装完成之后在选择的安装路径上会生成可执行文件:

./qt5.13.2/Tools/QtCreator/bin/qtcreator

2.2. armsom板卡上安装 Qt Creator

安装Qt使用仓库源,直接使用apt命令安装:

sudo apt update

# 通过apt安装Qt Creator工具
sudo apt install qtcreator

# 下载安装一些Qt工具
sudo apt install qttools5-dev-tools

在板卡上安装Qt Creator后,还需要安装相关qt库才能使用:

# 安装qt核心库
sudo apt install qtbase5-dev qt5-qmake qtbase5-dev-tools

# 其他的Qt模块(根据需要安装)
sudo apt install qtmultimedia5-dev libqt5charts5-dev

# 一些API文档,例程等等
sudo apt install qt5-doc qtbase5-examples qtbase5-doc-html
sudo apt install qtcharts5-examples qtcharts5-doc-html qt5serialport-examples qtmultimedia5-examples

这里开发板的设置可以再打开qt允许root权限

在这里插入图片描述

三、qt程序交叉编译

3.1 安装交叉编译器

交叉编译Qt程序需要注意使用交叉编译器一致,这里提供armsom-sige3的交叉编译器:gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu

将两个交叉编译器文件放在PC端的文件夹下面,输入命令解压:

sudo tar -xvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz -C /***

在这里插入图片描述

解压完毕之后需要配置系统的环境变量

在这里插入图片描述

在用户目录下修改隐藏文件,在文件最下面添加两行环境变量:

export PATH=$PATH:/home/armsom/work/aarch64-linux-gnu/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/armsom/work/aarch64-linux-gnu/lib

配置后使得全局变量生效,命令行输入:

source ~/.bashrc

验证一下编译器是否已经安装好,命令行输入:

aarch64-none-linux-gnu-gcc -v

在这里插入图片描述

版本号说明没有问题

3.2 配置qt环境

编译QT源码,配置交叉编译环境,按照下面步骤操作:

  • 执行命令将QT源码拉下来本地
git clone git://code.qt.io/qt/qt5.git
  • 切换分支到对应的qt版本5.13.2
git checkout 5.13.2
  • 项目初始化
./init-repository -f

这样qt源码下载好了

进入到qtbase/mkspekcs/目录下,在该目录下,找到一个相似的工具链,cp一份并修改为指定的工具链(即在QT下添加自己的指定的平台)

在这里插入图片描述

回到源码下编译:

./configure \
-verbose \
-opensource \
-release \
-shared \
-confirm-license \
-make libs \
-nomake tests \
-nomake examples \
-skip qtmacextras \
-skip qtandroidextras \
-no-opengl \
-xplatform aarch64-linux-gnu-g++ \
-prefix /opt/qt-5.13.2-linux-aarch64-gcc

然后再执行命令将qt库安装到 -prefix 指定的目录下

make -j8
sudo make install

3.3 编译qt程序

这一步需要在PC端运行,打开已经上面安装好的QT
在这里插入图片描述

在工具栏中设置远程连接的设备

在这里插入图片描述

添加Kit,配置其aarch64位编译器,在Compilers中点击Add我们之前安装并配置好的交叉编译链GCC,配置路径,名称要区别开,在Qt Versions里面配置已经编译好的qmake,位置在opt下面,配置如下图
在这里插入图片描述

点击ok之后在Projects里点击刚配置好的Kits,然后选择我们的环境,选择Release模式,点击运行即可
在这里插入图片描述

运行的程序是QT默认的时钟

最后运行的结果是在开发板上会打开时钟的窗口。


http://www.kler.cn/a/599064.html

相关文章:

  • 算法模型从入门到起飞系列——背包问题(探索最大价值的掘金之旅)
  • C# 资源管理‌(using 语句)
  • vscode中latex的tex文件和pdf跳转
  • (一)飞行器的姿态欧拉角, 欧拉旋转, 完全数学推导(基于坐标基的变换矩阵).(偏航角,俯仰角,横滚角)
  • 区块链交易
  • 火绒终端安全管理系统V2.0——行为管理(软件禁用+违规外联)
  • 【Leetcode】430. 扁平化多级双向链表
  • SFT和RLHF是什么意思?
  • React + Node.js实践 仿B站评论
  • 邀请媒体参加线下活动
  • 基于DeepSeek的智能体搭建
  • HAL库中断的理解
  • 个人博客系统 --- 测试报告
  • linux--时区查看和修改
  • 深度学习2-线性回归表示
  • Elasticsearch 中的数据分片问题
  • Linux中查找标准库函数的定义
  • 【容器运维】docker搭建私有仓库
  • SpringBoot分布式定时任务实战:告别重复执行的烦恼
  • 蓝桥杯_DS1302时钟