Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)

汇创慧玩

  • 写在前面
  • 1.Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程
  • 2.配置 Qt的SSH aarch64交叉编译器
  • 3.工程建立及编译验证

写在前面

苦辣酸甜时光八载,春夏秋冬志此一生
Qt简介:
Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。
Qt 支持的操作系统有很多,例如通用操作系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等。
Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。

环境:
PC系统:Ubutu20.04(x86_64架构) <本机>
Qt版本:Qt5.12.8(GCC 9.3.0,64bit) <本机>
Qt Creator 版本:4.11.0 <本机>
交叉编译器:gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu <本机>
国产系统:Kylin Linux Advanced Server release V10(4.19.90-25.10.v2101.ky10.aarch64) 部署环境<即arm64架构>
对应版本的ubuntu-base镜像:ubuntu-base-16.04.6-base-arm64
GCC:v8.3.0 部署环境<即arm64架构>

最近由于项目需要做国产系统适配,软件需要适配不同架构CPU!同时又随时需要将x86_64架构下交叉编译的程序部署在ARM64环境进行运行验证,为了便捷开发过程,故在本机x86_64架构下采用SSH 来远程部署ARM64的开发环境!让您在本机Qt开发的ARM aarch64架构程序,通过配置 Qt的SSH aarch64交叉编译器,从而共享所要部署的环境来直接在本机Qt上实现运行验证!
在探索过程也是出现了星星点点的未知错误,摸黑探路,绕了许多弯路。基于此特将经验寄予此文,望更多志同道合的朋友在这条探索的路上少走弯路,尽入主题!

1.Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程

详见笔者Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程进行配置;
确保该教程内容已实现

2.配置 Qt的SSH aarch64交叉编译器

1)编译器(Compliers)配置:上个教程已配置无需再配置
2)Qt版本(Qt Versions)配置:上个教程已配置无需再配置
3) SSH构建套件(Kit)配置:
Kit需要选择好自己新添加的Qt Version和编译器。

Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第1张图片
上面7.Apply完成之后 ,8.设置Kits 中的Device(这是为了能够直接把项目部署到远程arm设备上),弹出如下界面:点击添加按钮弹出设备设置向导选择界面,选择Generic Linux Device
Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第2张图片

Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第3张图片Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第4张图片Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第5张图片

点击完成(F)之后会出现连接被拒绝,不用担心 ,下面会对其设置密码。
Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第6张图片
Test远程arm的密码:
Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第7张图片Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第8张图片Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第9张图片
配置完成通过Apply按钮应用生效,通过OK按钮配置完成。

3.工程建立及编译验证

新建工程,并选择上面配置的构建套件(Kit)
Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第10张图片

在pro文件添加下面代码:

target.path=~/lmytest        #远程arm安装目标文件路径

INSTALLS+=target

Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第11张图片

点击运行按钮,对项目进行编译,再把项目发布到 远程arm设备!
Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第12张图片

输入远程arm设备密码,即可在本机查看代码运行结果,代码并部署到远程arm设备。

上面项目部署之后,登陆远程arm设备进到对应的目录下查看和运行代码。
Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构)_第13张图片

至此,恭喜您! Qt的SSH aarch64交叉编译环境已成功配置,可以开始使用了!!!

感谢阅读,我是汇创慧玩,希望文章能够解决您的问题。
事为之,须极致!

你可能感兴趣的:(Qt,国产系统kylin,Ubuntu,qt,ubuntu,ssh,kylin,架构,arm开发)