Qt5.14.2-windows平台配置Qt Creator的ARM体系结构Linux交叉编译器

2023-11-16

1、安装Qt并下载对应源码

下载并安装Qt

下载对应的源码包,windows版本选择zip格式的源码包

Index of /archive/qt/5.14/5.14.2https://download.qt.io/archive/qt/5.14/5.14.2/链接https://download.qt.io/archive/qt/5.14/5.14.2/single/

2、下载ARM交叉编译工具

Arm GNU Toolchain Downloads – Arm DeveloperDownload the Arm GNU Toolchain, an open-source suite of tools for C, C++, and Assembly programming for the Arm architecture.https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloadsLinaro Releaseshttps://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/

ARM相关工具链发布主要有ARM、Linaro、Codesourcery。

命名规则

交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi]

  • arch : 体系架构,如arm、aarch32(ARM32架构)、aarch64(ARM64架构)
  • vendor : 工具链提供商,none。
  • os : 目标操作系统,linux适用于Linux OS。
  • eabi : 嵌入式应用二进制接口(Embedded Application Binary Interface)
  • abi : 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)。在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口。

    gnu/linux - 表示使用glibc运行库

配置交叉编译器 

将压缩包解压到任意文件夹下,进入bin文件夹复制路径添加到环境变量中

3、安装需要的工具

    1.安装Active Perl

        Perl Download - www.perl.org

    2.安装python

        Download Python | Python.org

4、交叉编译Qt源码

win+r输入cmd进入命令行控制终端,将路径切换到Qt源码目录下

cd /d D:\qt-everywhere-src-5.14.2

 1.编译配置

configure.bat -release -static -opensource -prefix D:\aarch64-linux-gun-kit -nomake tests -nomake examples -no-opengl -skip qtvirtualkeyboard -platform win32-g++ -xplatform linux-aarch64-gnu-g++
-release 编译release版本
-opensource 表示开源许可
-prefix 指定安装目录,根据自己喜好;安装后qmake程序默认就会根据这个目录路径去搜索头文件和库文件
-nomake 表示不编译后面参数指定的模块
-no-opengl 表示不编译OpenGL,这个我们用不着,也没有安装OpenGL环境,所以不编译,否则会出错
–skip qtvirtualkeyboard 跳过qtvirtualkeyboard,没有相应库环境,不编译,否则编译和安装过程中可能会报错。
-xplatform linux-aarch64-gnu-g++ 指定交叉编译器配置目录为linux-aarch64-gnu-g++,qmake会到当前目录下的qtbase/mkspecs/linux-aarch64-gnu-g++里读取qmake.conf文件,找到配置文件里的交叉编译工具来编译Qt动态库。
默认-shared 编译动态库,这里设为静态库
默认-platform win32-g++,指定本地编译器配置目录,到当前目录下的qtbase/mkspecs/win32-g++目录里读取qmake.conf文件,找到本地编译工具来编译qmake。

使帮助可以查看更多用法

.\configure.bat --help

配置或编译过程中如果出现如下错误

1、请检查环境配置是否正确,可以使用cmd命令行检查环境变量是否存在aarch64-linux-gnu-g++的可执行程序

2、根据configure脚本中的 -xplatform 参数选择的架构、环境及运行库的编译配置进入目录(D:\qt-everywhere-src-5.14.2\qtbase\mkspecs)找到相应文件夹里的qmake.conf文件,将里面指定的交叉编译工具改为本地环境变量配置里的编译工具

 2.编译源码

mingw32-make -j8 V=s
mingw32-make 使用当前系统下Qt的mingw编译器,同样在环境变量里配置
-j8 允许8个编译命令同时执行
V=s 提供更详细的构建信息

3.安装工具

mingw32-make install -j8 V=s

如果在安装过程重出现 错误、缺失文件,通常是模块部署的问题,在不需要的情况下可以通过-skip参数重新配置编译

./configure.bat -release -static -opensource -prefix D:\CrossCompileToolChain\arrch64-linux-gun-kit -nomake tests -nomake examples -no-opengl -skip qtwebchannel -skip qtdeclarative -platform win32-g++ -xplatform linux-aarch64-gnu-g++

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt5.14.2-windows平台配置Qt Creator的ARM体系结构Linux交叉编译器 的相关文章

  • QPainterPath::arcTo 上的角度如何解释?

    我正在开发图形编辑器的功能 在其中编辑弧线 当形状是椭圆形时 QPainterPath arcTo 的行为并不像我预期的那样 当它是一个圆圈时 它会按预期工作 下面的两张图片显示了结果 在第一种情况下 我创建了一个圆 然后将其转换为初始起始
  • 如何在不同的QT线程中创建一个窗口?

    我有一个应用程序 其中每个线程 主线程除外 都需要创建自己的窗口 我尝试创建一个线程然后调用this gt exec in the run功能 然而 在我接到那个电话之前我就收到了一个错误 ASSERT failure in QWidget
  • 无法将 [未定义] 分配给 QColor

    我正在使用 Qt 5 11 构建 运行代码 代码中有QML风格如下 Button style delegate Component id enabledButtonStyle ButtonStyle padding top 0 paddin
  • 为什么anchors.centerIn不适用于Column元素?

    我有这段 QML 代码 Column spacing units gu 2 anchors fill parent centerIn parent Row spacing units gu 4 Row spacing units gu 4
  • 当给定 100k 项时,QListView 需要很长时间才能更新

    我在读取文件时遇到问题 具体是我想制作一本小字典 在我需要阅读的文件中有这样的内容 a Ph P6 a snsr CA a b c fb Dj a b c book i BS A except B gate oOPa y a font kQ
  • 在 QML 中控制纹理 3D 对象的不透明度

    我对 QML 中的 Qt 3D 有点陌生 我正在尝试控制 Qt 3D 的不透明度textured3D 对象 我正在使用简单qml3d https github com tripolskypetr simpleqml3d测试项目来做到这一点
  • Qt - QProcess 不工作

    我尝试启动 Internet Explorer 所以我使用下面的代码 QProcess process new QProcess this QString temp C Program Files Internet Explorer iex
  • Qmake 不支持源目录下的构建目录

    我创建了一个可以在 OS X 上编译和运行的应用程序 我现在想开始让它在 Windows 上运行 首先 我将项目复制到 Windows 机器上并尝试编译 但收到此错误 警告 Qmake不支持源目录下的构建目录 有任何想法吗 将影子构建目录设
  • 在 Windows 上静默安装 Qt55 Enterprise

    编辑 在 Qt 支持的帮助下 我已经解决了如何自动化 Qt 企业安装程序的这两个部分 下面是脚本调用 我正在尝试在 Windows 8 1 和 Windows 10 上静默安装 Qt 5 5 1 Enterprise 使用 script 开
  • QGraphicsView 在完整布局中未最大化

    I have following GUI having four QGraphicView objects 正如您在每个视图下看到的那样 它有四个工具按钮 为了最大化视图 我连接了工具按钮的信号来隐藏其他三个视图的插槽 并将大小策略设置为扩
  • 渲染具有透明度的纹理时,OpenGL 不需要的像素

    我已经为这个问题苦苦挣扎了一段时间了 当我使用 OpenGL 渲染 2D 纹理 在无透明度和部分透明度之间的过渡上具有透明度值 时 我得到了一些烦人的灰色像素 我认为这是像素值插值的产物 关于如何改进这一点有什么想法吗 I m attach
  • 在 Qt 中构建 Android 项目不再有效

    所以我对 Android SDK NDK 和 Apache Ant 进行了一些更新 现在我无法构建任何 Android 项目 我收到一条警告 然后它说找不到 build xml 文件 错误 Warning Android platform
  • 在 Qt 中用像素图画笔画一条线?

    一段时间以来 我正在使用 Qt C 开发一个简单的绘图和绘画应用程序 目前我正在使用 QPainter drawLine 进行绘制 并且工作正常 我想做的是用像素图画笔绘图 这是我可以做到的 我可以使用 QPainterPath 和 QPa
  • QListWidget 拖放项目从 Symbian 列表中消失

    我在实现带有可通过拖放重新排序的自定义项的 QListWidget 时遇到问题 问题是当我在某个项目上快速双击 非常短的拖放 时 该项目有时会从 QListWidget 中消失 这是我的小部件的构造函数 ListPopisiDragDrop
  • QStandardItemModel::removeRows() 在我的用例中不起作用

    基本上我想删除模型中的所有行 我更喜欢使用removeRows 代替clear 因为我想保留我的标题 我想我错过了一些东西 文档在这里 http doc qt nokia com 4 7 snapshot qstandarditemmode
  • 如何在 PySide/PyQt 中制作一个位于屏幕中央的小部件?

    这段代码有效 但我想知道是否有更简单的方法 def center self qr self frameGeometry cp gui QDesktopWidget availableGeometry center qr moveCenter
  • C++:头文件中全局函数的多重定义错误

    该函数是全局的 在头文件中定义 暂时地我想把它留在那里 头文件还构成一个具有内联函数的特定类 其中一个函数调用this全局函数 源文件不包含任何有问题的全局函数 有关错误原因的任何提示吗 如果有人感兴趣的话我可以发布代码 mainwindo
  • 通过CMake实现Qt项目

    我正在尝试通过 Cmake 构建并运行非常简单且基本的 Qt 示例 删除 pro 文件 以下是Qt项目的代码 自动生成的Qt项目的目录结构为 Cmake my project name headers mainwindow h source
  • 如何在 QT 安装程序框架中区分每用户安装与系统范围安装?

    我正在使用一些名为 pgModeler 的应用程序 它的当前版本提供了一个基于 QT 安装程序框架的安装程序 Windows 上该安装程序的问题是它安装每个用户的开始菜单条目 https github com pgmodeler pgmod
  • 如何在Qt无框窗口中实现QSizeGrip?

    如何使用 Qt 无框窗口实现 QSizeGrip 代码会是什么样的 您只需在布局内窗口的一角添加 QSizeGrip 即可使其保持在该角落 QDialog dialog new QDialog 0 Qt FramelessWindowHin

随机推荐

  • 实现TextView垂直滚动以及监听

    由于新的项目中在广告轮播用到了垂直滚动显示 所以也当学习 自己定义了一个垂直滚动的view以及监听 用到TextSwitcher和ViewFactory TextSwitcher 字面理解是文字交换器 是ViewSwitcher的子类 从V
  • 【转】你在读博士期间明白的最深刻的道理是什么?

    写在前面 读博不是跟着老师学知识 都读到博士阶段了 知识的学习方法应该早已经熟练掌握 也早应该形成了一套成熟的 适合自己的知识学习方法 基础学科知识应该由自我驱动 自学来完成 那么读博期间的目标应该是培养什么 学会什么 读博的这4 6年一个
  • Express初学之入门

    1 Express简介 基于Node的极简MVC框架 提供灵活的路由功能 提供强大的中间件机制 内核极小 扩展性很好 使用广泛 2 路由机制 Express概念 定义了Api的地址 请求 响应方式 方法 天然支持HTTP Method 中的
  • grep 函数

    grep函数 如果你是个Perl的新手 你可以先跳过下面的两段 直接到 Grep vs loops 样例这一部分 放心 在后面你还会遇到它 grep BLOCK LIST grep EXPR LIST grep 函数会根据 LIST 中的元
  • zsh: command not found: flutter

    因为苹果笔记本重新安装了系统 需要重新安装flutter环境 这里记录一下flutter在安装过程中出现的问题 问题如下 zsh command not found flutter 解决步骤 1 打开open zshrc 2 如果没有就新建
  • Django + vue (一) Django部署

    一 Django 部署 采用REST方式 较简约 1 安装django pip install django 2 2 4 i https pypi tuna tsinghua edu cn simple 2 创建个目录pyvue 并在该目录
  • 求n!的4种方法

    1 循环法 include
  • Java Stream peek的一些坑

    众所周知在Java中使用Stream能够很好地帮我们流处理对象 而Stream中有一个peek方法 它与map最大的区别是它没有返回值 一开始我是简单地把它当做一个void类型的处理方法去使用的 但是后来却发现程序执行到此处时 不进peek
  • 【华为OD机试真题2023B卷 JAVA&JS】跳格子2

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 跳格子2 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 小明和朋友玩跳格子游戏 有 n 个连续格子组成的圆圈 每个格子有不同的分数 小朋友可以选择从任意格子起跳 但是
  • 在Padavan上搭建udp53踩坑总结

    弄了差不多一下午 翻阅了许多帖子都没有能用的解决办法 人又不在家全程远程解决 希望对有相同需求的朋友有帮助 坑一 对于dnsmasq占用53端口的问题 查阅dnsmasq配置手册之后发现 在 etc dnsmasq conf中port缺省的
  • 2019哈工大计算机考研初试复试经历

    一 初试 1 准备阶段 1 1阶段一 我的第一阶段大约是在4月到6月 这阶段一方面我学业课程还比较忙 另一方面当时还要准备竞赛 所以准备不是很充分 只准备了数学 在外面上了数学考研辅导课 大班 不贵 对数学做了第一轮的复习 做了第一波习题
  • Istio二之流量劫持过程

    前面介绍了Istio依赖的Envoy的工作原理 接下来通过实际例子演示Istio是如何完成流量劫持以及流量转发的 首先准备部署两个pod 一个nginx pod作为服务端 一个toolbox pod作为客户端 toolbox只是一个能支持l
  • scanf()函数中%[]格式控制符用法

    此格式控制符的基本格式为 scanfset scanfset 有两种形式 一种是以非 字符开头的 scanset 表示在读入字符串时将匹配所有在 scanfset 中出现的字符 遇到非scanfset 中的字符时输入就结束 另外一种形式是以
  • filco蓝牙键盘配对流程_码字体验飞起的矮轴机械键盘 打字主力键盘妥妥的

    上篇文章 给我的 Macbook Pro 找一个好键盘 最后有小干货 最终决定买 Filco 蓝牙双模红轴 87 键位的键盘 可现实情况是被我退货了 并不是我改主意了 而是当时那个键盘确实有连键问题 还有空格嘎嘎响 连键指的是按 W 的时候
  • 蓝牙(二)蓝牙搜索、配对、连接

    1 搜索 从上一节我们可以知道 蓝牙状态发生了改变 并发生了回调 咱们就从回调开始 DevicePickerFragment java 用于蓝牙设置界面的蓝牙配置和管理 Override public void onBluetoothSta
  • 谷雪梅 Google中国

    转自 http tech qq com a 20060930 000109 htm 相关报道 郭去疾 本地化对Google来说是个伪命题 谷雪梅 Google中国第一位本土女工程师 2005年1月加盟Google 2006年2月调任Goog
  • 有关so-vits-svc-4.0数据处理时out of memory问题

    有关so vits svc 4 0数据处理时out of memory问题 今天使用so vits svc 4 0处理音频数据时 碰到网页报错 out of memory 查看一下代码报错 ImportError DLL load fail
  • RTOS专栏(一) —— rt-thread简单介绍和qemu使用

    本期主题 简单介绍rt thread 介绍qemu和rt thread怎么配合使用 qemu的简单例子 rt thread qemu 1 rt thread介绍 2 qemu介绍 3 搭建rt thread和qemu开发环境 4 简单例子
  • 从零开始学习OpenCL开发(一)架构

    1 Hello OpenCL 这里编写一个最简单的示例程序 演示OpenCl的基本使用方法 1 首先可以从Nvdia或者Amd或者Intel或者所有OpenCl成员的开发者网站上下载一份他们实现的OpenCL的SDK 虽然不同公司支持了不同
  • Qt5.14.2-windows平台配置Qt Creator的ARM体系结构Linux交叉编译器

    1 安装Qt并下载对应源码 下载并安装Qt 下载对应的源码包 windows版本选择zip格式的源码包 Index of archive qt 5 14 5 14 2https download qt io archive qt 5 14