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

qt-everywher交叉编译e-src-5.15.2

简化配置的方式:
你完全可以通过直接配置 安装目录、编译链 和 目标架构 来完成交叉编译,而不需要修改 mkspecs 配置。以下是如何通过简化配置来进行交叉编译 Qt 的步骤。

  1. 准备交叉编译工具链
    首先,确保你已经安装了交叉编译工具链,例如针对 ARM 架构的工具链(如 aarch64-linux-gnu)。如果是 ARM 64-bit 系统,通常使用 aarch64-linux-gnu-g++ 和 aarch64-linux-gnu-gcc。

可以使用以下命令安装工具链(以 Ubuntu 为例):

bash
复制代码
sudo apt update
sudo apt install g+±aarch64-linux-gnu
2. 配置 Qt
解压 qt-everywhere-src-5.15.2.tar.xz 后,进入 Qt 源码目录。

2.1 配置 Qt 的交叉编译
使用 ./configure 配置 Qt 进行交叉编译。你可以不涉及 mkspecs 目录,直接通过命令行配置编译链、目标架构和安装目录。假设你的目标系统是 ARM 64-bit,交叉编译工具链为 aarch64-linux-gnu-g++,并且目标设备的根文件系统路径为 /path/to/arm-sysroot。

./configure \-prefix /path/to/qt-install-arm \-opensource \-confirm-license \-release \-nomake examples \-nomake tests \-xplatform linux-arm64-g++ \-sysroot /path/to/arm-sysroot \-device linux-arm64 \-device-option CROSS_COMPILE=aarch64-linux-gnu- \-no-opengl

配置项的说明:
-prefix /path/to/qt-install-arm:指定编译完成后安装 Qt 库和工具的路径。
-opensource:选择开源版本的 Qt。
-confirm-license:同意 Qt 开源许可证。
-release:编译发布版本。
-nomake examples 和 -nomake tests:跳过编译示例程序和测试,减少编译时间。
-xplatform linux-arm64-g++:指定交叉编译平台为 ARM 64-bit。
-sysroot /path/to/arm-sysroot:指定目标设备的根文件系统路径,使编译时能够使用目标系统的头文件和库。
-device linux-arm64:指定目标设备架构为 ARM 64-bit。
-device-option CROSS_COMPILE=aarch64-linux-gnu-:告诉 Qt 使用交叉编译工具链的前缀。
-no-opengl:禁用 OpenGL,若目标设备不支持硬件加速 OpenGL 时使用。

  1. 编译 Qt
    配置完成后,执行 make 命令进行编译:

make -jKaTeX parse error: Expected 'EOF', got '#' at position 10: (nproc) #̲ 使用多核 CPU 提高编译速…(nproc) 会自动使用你的 CPU 核心数来并行编译,提高编译效率。make install 会将编译好的 Qt 库和工具安装到你指定的 -prefix 路径。

  1. 部署到目标 ARM 设备
    完成 Qt 编译后,你需要将 Qt 安装目录复制到目标 ARM 设备。你可以使用 scp 或其他方法将 Qt 安装目录复制到目标设备上:
scp -r /path/to/qt-install-arm orangepi_user@<orangepi_ip>:~/qt-install

然后,确保目标设备的环境变量正确配置。你可以在目标设备的 ~/.bashrc 或 ~/.profile 中添加以下内容:

export PATH=$PATH:/path/to/qt-install-arm/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/qt-install-arm/lib
然后执行:source ~/.bashrc

这样,目标设备就能找到并使用新安装的 Qt 工具链和库。

简化的交叉编译配置总结
通过简化配置,交叉编译 Qt 的关键步骤就是:

工具链准备:安装并确认交叉编译工具链。
配置 Qt:通过 ./configure 指定安装目录、编译链、目标架构等,不涉及 mkspecs 目录。
编译 Qt:使用 make 编译并安装 Qt。
部署到目标设备:将 Qt 安装到目标设备并配置环境变量。

相关文章:

qt-everywher交叉编译e-src-5.15.2

简化配置的方式&#xff1a; 你完全可以通过直接配置 安装目录、编译链 和 目标架构 来完成交叉编译&#xff0c;而不需要修改 mkspecs 配置。以下是如何通过简化配置来进行交叉编译 Qt 的步骤。 准备交叉编译工具链 首先&#xff0c;确保你已经安装了交叉编译工具链&#xff…...

4.STM32通信接口之SPI通信(含源码)---硬件SPI与W25Q64存储模块通信实战《精讲》

开胃简介 根据上一节对STM32的SPI介绍&#xff01;本节将进行硬件SPI的实现&#xff0c;片选用软件实现&#xff01;跟着Whappy走起&#xff01;W25Q64的驱动层&#xff0c;我们不需要更改&#xff0c;仅仅需要更改一下SPI的协议&#xff0c;即&#xff1a;由软件实现改成硬件…...

生信技能63 - 构建gnomAD变异位点的SQLite查询数据库

将数据量巨大的gnomAD数据库,通过SQLite数据库寻找gnomAD中存在的各种变异注释信息(如等位基因计数,深度,次要等位基因频率等),查询300.000个变量的查询需要大约40秒,通过染色体编号+位置+REF+ALT即可进行快速查询。 1. gnomAD变异注释VCF文件字段 gnomAD VCF各版本包…...

0x0118消息 WM_SYSTIMER

0x0118消息就是WM_SYSTIMER 编辑框出现输入光标时,产生的消息. 0x0118 would be the undocumented WM_SYSTIMER, which appears to be used for caret blinks. 0x0118是一个undocument 消息&#xff0c; 微软没有记录。 但在一些库的源码中可以看到&#xff0c;比如ATL的库文…...

【机器学习】机器学习的基本分类-无监督学习(Unsupervised Learning)

无监督学习&#xff08;Unsupervised Learning&#xff09; 无监督学习是一种机器学习方法&#xff0c;主要用于没有标签的数据集。其目标是从数据中挖掘出潜在的结构和模式。常见的无监督学习任务包括 聚类、降维、密度估计 和 异常检测。 1. 无监督学习的核心目标 1.1 聚类…...

[代码随想录09]字符串2的总结

前言 处理字符串主要是有思路&#xff0c;同时总结方法。 题目链接 151. 反转字符串中的单词 - 力扣&#xff08;LeetCode&#xff09; 55. 右旋字符串&#xff08;第八期模拟笔试&#xff09; 一、翻转字符串里的单词 这个题目的主要思路&#xff0c;代码采用从后往前遍历字…...

java注解(一):什么是注解?什么是元注解?如何自定义注解?注解的原理是什么?

目录 1、什么是注解&#xff1f; 2、什么是元注解 1、Target() 2、Retention() 3、Documented 4、Inherited 3、如何自定义注解以解使用 4、注解的原理 本篇文章主要是介绍注解的概念、原理&#xff0c;以及通过代码演示4种元注解、如何自定义注解。通过反编译的形式进…...

AD20 原理图库更新到原理图

一 点击工具&#xff0c;从库更新。快捷键TL 二 点击完成 三 执行变更&#xff0c;最后点击关闭...

.NET用C#导入Excel数据到数据库

将Excel文件中的数据导入到数据库中不仅能够提升数据处理的效率和准确性&#xff0c;还能极大地促进数据分析和决策制定的过程。尤其在企业级应用中&#xff0c;Excel作为数据输入和初步整理的工具非常普遍&#xff0c;但其功能对于复杂查询、大规模数据管理和跨部门的数据共享…...

小身躯大能量-供热系统通过EtherCAT转Profinet网关进行升级

在现代工业自动化领域&#xff0c;通信技术的进步对于提高系统效率、稳定性和可靠性起着至关重要的作用。EtherCAT&#xff08;Ethernet for Control Automation Technology&#xff09;作为一种实时以太网解决方案&#xff0c;因其高性能及成本效益高等特点&#xff0c;在众多…...

Android11.0系统关闭App所有通知

通过广播接收方式&#xff0c;根据包名关闭App所有通知。 packages/apps/Settings$ git diff diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d4c54c6ed8..1ce7d4136f 100644 --- a/AndroidManifest.xmlb/AndroidManifest.xml-106,6 106,7 <uses-permissio…...

# issue 8 TCP内部原理和UDP编程

TCP 通信三大步骤&#xff1a; 1 三次握手建立连接; 2 开始通信&#xff0c;进行数据交换; 3 四次挥手断开连接&#xff1b; 一、TCP内部原理--三次握手 【第一次握手】套接字A∶"你好&#xff0c;套接字B。我这儿有数据要传给你&#xff0c;建立连接吧。" 【第二次…...

力扣100题--移动零

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums [0] 输出: […...

Spring 邮件发送

Spring 邮件发送 1. 主要内容&#xff08;了解&#xff09; 2. JavaMail 概述&#xff08;了解&#xff09; JavaMail&#xff0c;顾名思义&#xff0c;提供给开发者处理电⼦邮件相关的编程接⼝。JavaMail 是由 Sun 定义的⼀套收发电⼦邮件的 API&#xff0c;它可以⽅便地执⾏⼀…...

利用 360 安全卫士极速版关闭电脑开机自启动软件教程

在使用电脑的过程中&#xff0c;过多的开机自启动软件会严重拖慢电脑的开机速度&#xff0c;影响我们的使用体验。本教程中简鹿办公将详细介绍如何使用 360 安全卫士极速版关闭电脑开机自启动软件&#xff0c;让您的电脑开机更加迅速流畅。 一、打开 360 安全卫士极速版 在电…...

楼房销售系统

文末获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 毕 业 设 计&#xff08;论 文&#xff09; 题目&#xff1a;楼房销售系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xf…...

UML箭线图的理解和实践

在软件开发的世界里&#xff0c;UML&#xff08;统一建模语言&#xff09;作为一种标准化的建模语言&#xff0c;扮演着举足轻重的角色。UML类图更是软件开发设计和架构过程中的核心工具&#xff0c;它不仅能帮助开发者明确系统中的类及其关系&#xff0c;还能为后续的代码实现…...

Qt入门8——Qt文件

1. Qt文件概述 文件操作是应用程序必不可少的部分。Qt作为⼀个通用开发库&#xff0c;提供了跨平台的文件操作能力。Qt 提供了很多关于文件的类&#xff0c;通过这些类能够对文件系统进行操作&#xff0c;如文件读写、文件信息获取、文件复制或重命名等。 2. 输入输出设备类 在…...

鸿翼受邀出席2024海峡两岸档案暨缩微学术交流会

近日&#xff0c;由中国档案学会、中国文献影像技术协会共同主办&#xff0c;中华档案暨资讯微缩管理学会参加的2024年海峡两岸档案暨缩微学术交流会在乌鲁木齐召开。鸿翼联合创始人兼CTO罗永秀受邀出席本次交流会并作主题分享。 自1992年以来&#xff0c;该学术交流会已连续举…...

支持win7系统的onnxruntime

在win7 X86系统上&#xff0c;使用了onnxruntime.dll库做AI识别&#xff0c;但是在win7上运行报0xc0000005的错误 经查&#xff0c;ONNX Runtime从v1.15.0版本开始不再支持Windows 7及其之前的操作系统&#xff0c;即便尝试重新编译源代码亦无法在这些老系统上运行&#xff0c;…...

3dsconv高效使用指南:从格式难题到批量转换的实用方案

3dsconv高效使用指南&#xff1a;从格式难题到批量转换的实用方案 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 解决3DS游…...

别只刷题了!用Python/C++搞定考研机试高频算法(附PIPIOJ真题代码重构与优化)

从暴力解法到优雅实现&#xff1a;Python/C双语言拆解考研机试高频算法 考研机试不仅考察算法理解&#xff0c;更检验工程化编码能力。许多考生能写出正确但冗长的代码&#xff0c;却在时间优化和代码简洁性上失分。本文将用Python和C对比实现六大高频题型&#xff0c;重点分析…...

别再死磕理论了!用Python+Pytorch实战多示例学习(MIL)图像分类,附完整代码

用PythonPytorch实战多示例学习图像分类&#xff1a;从数据到模型的完整指南 当你第一次听说"多示例学习"&#xff08;Multiple Instance Learning, MIL&#xff09;时&#xff0c;是不是也被那些抽象的理论弄得一头雾水&#xff1f;作为计算机视觉领域的重要技术&am…...

ViT图像分类-中文-日常物品完整指南:4090D单卡环境配置与中文类别映射说明

ViT图像分类-中文-日常物品完整指南&#xff1a;4090D单卡环境配置与中文类别映射说明 想试试用AI模型来识别你手机里的照片吗&#xff1f;比如&#xff0c;拍一张桌上的水杯、键盘或者零食&#xff0c;让模型告诉你它是什么。今天要介绍的这个工具&#xff0c;就能帮你轻松实…...

ICLR 2025论文解读│PointOBB-v2:单点监督下的高效有向目标检测新突破

1. PointOBB-v2&#xff1a;单点监督的革命性突破 有向目标检测一直是计算机视觉领域的重要研究方向&#xff0c;特别是在遥感图像分析、自动驾驶和工业检测等实际应用中。传统的有向边界框&#xff08;OBB&#xff09;标注需要人工精确标注目标的旋转角度和四个顶点坐标&…...

基于历史数据的加密货币交易系统策略验证实践指南

基于历史数据的加密货币交易系统策略验证实践指南 【免费下载链接】node-binance-trader &#x1f4b0; Cryptocurrency Trading Strategy & Portfolio Management Development Framework for Binance. &#x1f916; 项目地址: https://gitcode.com/gh_mirrors/no/node-…...

ARM Cortex-M嵌入式通用头文件sarmfsw深度解析

1. sarmfsw项目概述sarmfsw&#xff08;ARM-based Common Headers&#xff09;是一个面向ARM Cortex-M系列微控制器的轻量级、跨平台通用头文件集合。它并非传统意义上的功能库&#xff0c;而是一套经过工程验证的类型定义&#xff08;typedefs&#xff09;、宏&#xff08;mac…...

让老旧Mac焕发新生:OpenCore Legacy Patcher完整指南

让老旧Mac焕发新生&#xff1a;OpenCore Legacy Patcher完整指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 您的Mac是否被苹果官方"抛弃"&…...

Phi-4-reasoning-vision-15B部署教程:开源大模型镜像适配国产GPU方案

Phi-4-reasoning-vision-15B部署教程&#xff1a;开源大模型镜像适配国产GPU方案 1. 模型介绍 Phi-4-reasoning-vision-15B是微软推出的视觉多模态推理模型&#xff0c;具备强大的图像理解和分析能力。这个15B参数规模的模型特别擅长处理需要结合视觉和语言理解的复杂任务。 …...

Czkawka:智能存储管理的5个核心解决方案

Czkawka&#xff1a;智能存储管理的5个核心解决方案 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 1.0 现象剖析&#xff1a;数字存储管理的现实困…...