码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Ubuntu Qt 5.15.2 支持 aarch64


    概述

         AArch64是ARMv8 架构的一种执行状态。 为了更广泛地向企业领域推进,需要引入64 位构架。 同时也需要在ARMv8 架构中引入新的AArch64 执行状态。 AArch64 不是一个单纯的32 位ARM 构架扩展,而是ARMv8 内全新的构架,完全使用全新的A64 指令集。
         QT不需要过多的介绍,跨平台的开发框架,支持各种桌面程序开发,LINUX、Windows、Android、IOS…

    在前面尝试过让buildroot支持QT, 在Ubuntu上安装Qt并开发Android程序。接下来尝试使用QT开发arm64应用程序的开发。

    平台

    Ubuntu20.04 + Qt Creator 4.10.1 + Qt5.15.2
    目标平台: RK3588 + Linux(buildroot)

    过程

    1. 安装交叉编译工具aarch64-linux-gnu-gcc

    2. 安装Qt和QtCreator
      参考Qt 5.13 Android开发初探 中的QT安装部分,简单点就是下载离线安装包,直接执行安装包.run安装即可。

    3. 编译arm64使用的qmake
      QT官方的包中没有找到对应的支持,所以这一步应该考虑通过编译Qt源码的方式实现。
      下载好代码解压出来:qt-everywhere-src-5.15.2

    ./configure -prefix $PWD/qtbase/bin -opensource -xplatform linux-aarch64-gnu-g++ -no-opengl -nomake examples -confirm-license 
    make -j4
    
    • 1
    • 2

    PS

    1. Unknown module(s) in QT: bootstrap-private
      Qt5交叉编译Project Error: Unknown module(s) in QT: script-private解决办法
    2. 编译过程并不一定是成功的,我们的目标并不是要编译出完整的Qt SDK, 最主要的目的是qmake

    即使编译出错,通过命令查看是否存在:
    qt-everywhere-src-5.15.2/qtbase/bin/qmake
    若已经存在,说明不需要继续编译了,进入下一步配置环境

    1. QtCreator配置开发环境
      打开QtCreator > 工具 > 选项
      在这里插入图片描述
      Qt Version 增加一项, 使用前面编好的qmake, 接下来如下图创建一个构建套件:
      在这里插入图片描述
      完成!

    1. 测试开发环境(打开现有的项目)
      QtCreator 可以直接打开CMakeLists.txt 作为项目导入还是相当方便的。
      a. 打开QtCreator文件>打开文件或项目
      b. 找到项目的CMakeLists.txt文件并打开
      c. 配置编译类型和输出路径,aarch64是前面增加的Kit。
      在这里插入图片描述
      修改代码,编译,丢板子里运行验证。
      完成!

    参考

    在linux上使用qt编译基于arm64的程序
    Ubuntu 搭建qt arm64编译环境
    Qt when building Qt from source how do I clean old configure configurations?
    Qt 5.13 Android开发初探
    QT 5.14.2 下载
    【QT】aarch64(ARM)系统下编译aarch64(ARM)版本的QT
    arm64和aarch64之间的区别

  • 相关阅读:
    web前端日常更新 8.16
    探索未来,开启无限可能:打造智慧应用,亚马逊云科技大语言模型助您一臂之力
    算法题练习——python题解BM52 数组中只出现一次的两个数字和BM51 数组中出现次数超过一半的数字
    SpringMVC | 快速上手SpringMVC
    解释C语言中 6.18f (浮点数常量后缀)
    leetcode做题笔记166. 分数到小数
    Windows Server FTP文件服务器安装和配置
    1.1. Java简介与安装
    一台电脑如何登录多个抖音小店(抖音小店怎么关联多个账号)
    卡尔曼滤波基本原理详解
  • 原文地址:https://blog.csdn.net/ansondroider/article/details/131332844
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号