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默认的时钟
最后运行的结果是在开发板上会打开时钟的窗口。