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

QT5.9.9+ARM开发环境搭建【详细步骤】

文章目录

  • 1.前言
  • 2.Linaro编译器下载
  • 2.qt-everywhere编译安装
  • 3.Linux下QT Creator安装
  • 4.交叉编译环境配置
  • 5.QT+ARM程序打包
  • 参考文献

1.前言

本文将以32位的ARM开发板为例,搭建基于Ubuntu 16.04虚拟机的QT+ARM开发环境,使用的软件如下:

序号软件名称版本
1qt-opensource-linux-x64-5.9.9.run5.9.9
2qt-everywhere-opensource-src-5.9.9.tar.xz5.9.9
3gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.bz27.3.1
4Ubuntu系统16.04.7
5VMware虚拟机软件16.1.2

2.Linaro编译器下载

Linaro官方下载地址:下载地址
在这里插入图片描述
官网列出的版本很多,大概的版本如下,可以根据自己的需要选择

名称syscall指令集大小端位宽描述
aarch64-linux-gnuLinuxARMv8little64aarch64 Linux Platform
aarch64_be-linux-gnuLinuxARMv8big64aarch64 Linux Platform
arm-linux-gnu-gnueabiLinuxARMv7little32arm EABl soft-float
arm-linux-gnu-gnueabihfLinuxARMv7little32arm EABl hard-float
armeb-linux-gnu-gnueabiLinuxARMv7big32arm EABl soft-float
armeb-linux-gnu-gnueabihfLinuxARMv7big32arm EABl hard-float
arm-eabiBareMetalARMv7little32arm EABl hard-float
armeb-eabiBareMetalARMv7big32arm EABl soft-float

需要看arm开发板是32位的还是64位的,本例中用的开发板是32位的,所以我下载的是gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.bz2
下载完成后,将其解压到文件夹
在这里插入图片描述
重命名:

mv gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf arm-linux-gnueabihf

将目标复制到/opt目录下:

sudo cp -rf arm-linux-gnueabihf/ /opt

安装完成后,还需要手动添加环境变量:

sudo gedit /etc/profile

将下面一行代码加入到/etc/profile的最下面:

export PATH="/opt/arm-linux-gnueabihf/bin:$PATH"

保存退出后执行下面命令,使环境变量生效:

source /etc/profile

可以检查一下有没有安装成功:

arm-linux-gnueabihf-g++ -v

在这里插入图片描述

2.qt-everywhere编译安装

本例中计划安装QT5.9.9,故下载的是对应版本的 qt-everywhere-opensource-src-5.9.9.tar.xz,下载地址见https://download.qt.io/archive/qt/(国内IP可能被屏蔽)
下载完成后,解压:

tar xvf qt-everywhere-opensource-src-5.9.9.tar.xz

修改/qt-everywhere-opensource-src-5.9.9/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf文件
在这里插入图片描述

需要将编译器的具体路径加上去,具体修改如下:

#
# qmake configuration for building with arm-linux-gnueabi-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)# modifications to g++.conf
QMAKE_CC                = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
QMAKE_CXX               = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
QMAKE_LINK              = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB        = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++# modifications to linux.conf
QMAKE_AR                = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy
QMAKE_NM                = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = /opt/arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip
load(qt_config)

在这里插入图片描述

首先需要检查 /home/用户名/qt5.9.9/qt5.9.9-arm32这个路径是不是存在,不存在的话要先手动新建,避免make错误!

路径qt-everywhere-src-5.9.9中,执行configure命令,具体参数如下:

./configure -release -nomake examples -no-iconv -no-opengl -no-assimp -no-qt3d-profile-jobs -no-qt3d-profile-gl -xplatform linux-arm-gnueabi-g++ -prefix /home/用户名/qt5.9.9/qt5.9.9-arm32 -opensource -confirm-license

这里,有很多配置项,简单说明下:
用户名:需要换成自己的
-prefix:选项后面的路径就是自己建的一个文件夹,用来存放编译后的qmake和其他一些配置文件(本例中用的是qt5.9.9目录,qt是小写的,便于和后续的QT Creator安装目录区分)
-xplatform linux-arm-gnueabi-g++ : 就是指定编译的为ARM版本 还有一些参数,例如打包ARM64位的话需要设置linux-aarch64-gnu-g++(其实是qtbase/mkspes下对应文件夹的名称)
在这里插入图片描述
然后运行生成命令(较慢 约20分钟):

make -j4

安装命令:

make install

安装成功
在这里插入图片描述

3.Linux下QT Creator安装

下载qt-opensource-linux-x64-5.9.9.run安装包,双击安装
在这里插入图片描述
在这里插入图片描述
组件选择如下:
在这里插入图片描述
安装完成
在这里插入图片描述

4.交叉编译环境配置

(1)配置ARM的qmake,打开QT-工具-选项菜单,按照下图添加自己的qt-everywhere中qmake的路径,有红色“感叹号”也不要紧,后续将配置gcc和g++后,即可消失。
在这里插入图片描述
(2)添加配置的Linaro的gccg++编译器
在这里插入图片描述
在这里插入图片描述

(3)此时配置完Linaro的gcc和g++后,检查QT Version选项中的感叹号消失:
在这里插入图片描述
(4)按照下图,配置 Kits,选择刚才的Qt versions和C++编译器。
在这里插入图片描述
手动配置的Kits有黄色感叹号没有关系,不影响使用。
在这里插入图片描述

5.QT+ARM程序打包

相关教程见:
Qt工程打包,针对Windows(X86)、Linux平台(X86和ARM架构)步骤全解

参考文献

https://blog.csdn.net/qq_39302310/article/details/123997722
https://blog.csdn.net/qq_43286311/article/details/118998717
https://doc.embedfire.com/linux/qt/embed/zh/latest/ebf_qt/install/install_arm.html


http://www.mrgr.cn/news/80544.html

相关文章:

  • 3.2.1.2 汇编版 原子操作 CAS
  • Canoe CAPL编程
  • 2012年西部数学奥林匹克试题(几何)
  • ASR-LLM-TTS 实时语音对话助手:语音识别、大模型对话、声音生成
  • 算法题(7):n进制乘法表
  • kubeadm_k8s_v1.31高可用部署教程
  • DATA-HUB 安装与启动:
  • vertx idea快速使用
  • Qt WORD/PDF(二)使用 QtPdfium库实现 PDF操作、打印等
  • 生产环境迁移——harbor篇
  • VCU--新能源汽车VCU电控开发
  • linux ibus rime 中文输入法,快速设置为:默认简体 (****)
  • k8s控制器
  • [创业之路-198]:华为的成立发展与新中国的建立与发展路径的相似性比较
  • Windows系统VSCode 搭建ESP-IDF环境
  • 【Vue.js 3.0】provide 、inject 函数详解
  • 单步调试Android Framework——App冷启动
  • SAM大模型实践(一)
  • HCIA-Access V2.5_4_1_1路由协议基础_IP路由表
  • 车牌识别之二:车牌OCR识别(包含全部免费的数据集、源码和模型下载)