QT5.12环境搭建与源码编译

一、概述
        QT版本:QT5.12.10
        Qt网址:http://download.qt.io/archive/qt/
        编译平台 ubuntu18.04


二、安装交叉编译工具链
1、获取交叉编译工具链 
        一般如果是编译系统如果有对应的gcc 就是用这个就可以了 比如rk3128 linux在rk312x-linux-no-sync-hyperlcd\prebuilts\gcc\linux-x86,分为aarch64和arm,如果没有的话 就是用下面的指令下载gcc并安装

        交叉工具链:gcc-4.9.3-64-gnu.tar.gz

2、安装交叉工具链

 tar zxvf gcc-4.9.3-64-gnu.tar.gz  -C  /

命令执行后,在系统 /opt 目录下会有:gcc-4.9.3-64-gnu

三、QT5.12.10 源码编译

1、编译准备
       一般只需要qt-everywhere,获取下载并解压出来

如果根目录里面有.sh 直接修改即可 没有.sh的话 重建一个run.sh,并输入如下内容

大致内容如下 关于第一句./configure -extprefix /opt/aarch64_qt5.12 是表示最后结果会存在这个位置

二、配置编译模块
如arm64位
./configure -extprefix /opt/aarch64_qt5.12 \
-opensource -confirm-license \
-release \
-strip \
-shared \
-xplatform linux-aarch64-gnu-g++ \
-make examples \
-nomake tools \
-nomake tests \
-widgets \
-dbus-runtime \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
--xcb=no \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-gif \
-ico \
-recheck-all

如32位
./configure -extprefix /opt/arm_qt5.12 \
-opensource -confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-make examples \
-nomake tools \
-nomake tests \
-widgets \
-dbus-runtime \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
--xcb=no \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-gif \
-ico \
-recheck-all
2、开始编译

命令1: ./run.sh 备注:配置时会提示Do you accept the terms of either license? 选择 y 即可
命令2: make
命令3: make install

备注1:

如果出现以下错误

'.ROR: Invalid command line parameter '
./myautoconfigure.sh: 2: -opensource: not found
./myautoconfigure.sh: 3: -confirm-license: not found

那么原因是这个文件是 DOS 格式的,需要转换为 unix 格式。

vi myautoconfigure.sh 然后 set ff = unix
(注意:这个问题在由windows 系统传向 linux 系统的shell 文件(.sh)经常出现。)

备注2 :

make 时间会比较长,需要耐心等待。
make install 后,会生成一个目录,在/opt/aarch64_qt5.12 

如果编译没有出错,成功生成aarch64_qt5.12 ,至此Qt源码编译完成。aarch64_qt5.12 会在下边qtcreator配置时会用到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/773520.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT+OpenCV在Android上实现人脸实时检测与目标检测

一、功能介绍 在当今的移动应用领域,随着技术的飞速发展和智能设备的普及,将先进的计算机视觉技术集成到移动平台,特别是Android系统中,已成为提升用户体验、拓展应用功能的关键。其中,目标检测与人脸识别作为计算机视…

《向量数据库指南》——Milvus Cloud查询增强如何提升 RAG Pipeline 效果?

查询增强 1.假设性问题 这一方法首先使用LLM为每一条文档块生成一些假设问题,这些文档块可以回答与之对应的假设问题。在RAG阶段,进行一个query-to-query的搜索,先搜索到相关的假设问题,然后找到对应的文档块,再通过它们生成最后的回答。 这里的query-to-query指的是embed…

用vue2+elementUI封装手机端选择器picker组件,支持单选、多选、远程搜索多选

单选注意点: touchmove.prevent: 在 touchmove 事件上添加 .prevent 修饰符,以阻止默认的滚动行为。 handleTouchStart: 记录触摸开始的 Y 坐标和当前的 translateY 值。 handleTouchMove: 计算触摸移动的距离,并更新 translateY 值。 han…

数字经济时代:AI+引领企业数字化新高度

随着新一轮科技革命和产业变革深入发展,5G、大数据、云计算等技术的广泛应用,数字经济不仅在中国,且在全球范围内,都被视为推动经济增长的关键动力。以人工智能(AI)为例,《全球数字经济白皮书&a…

大学生竞赛管理系统-计算机毕业设计源码37276

大学生竞赛管理系统的设计与实现 摘 要 随着教育信息化的不断发展,大学生竞赛已成为高校教育的重要组成部分。传统的竞赛组织和管理方式存在着诸多问题,如信息不透明、效率低下、管理不便等。为了解决这些问题,提高竞赛组织和管理效率&#x…

第一节-k8s架构图

一个Deployment,可以由多个不同Node下的Pod组成,每个Pod又由多个Container组成。 区分Deployment是用Labels(key:value),区分Pod是用PodName,区分Container是用ContainerName。 一个Node可以包含多个不同Deployment中的pod&…

马拉松报名小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,赛事信息管理,赛事报名管理,活动商城管理,留言板管理,系统管理 微信端账号功能包括:系统首页,赛事信息&…

【动态规划】动态规划一

动态规划一 1.第 N 个泰波那契数2.面试题 08.01. 三步问题3.使用最小花费爬楼梯4.解码方法 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃 1.…

Android - 利用 jitpack 免费发布闭源 aar

一、简述 目前(Android/java) library 的主要发布仓库有 MavenCentral 和 jitpack,我之前也对这两种仓库的发布流程做了详细介绍: 发布至 MavenCentral: https://juejin.cn/post/6953598441817636900发布至 jitpack: https://juejin.cn/post/7040733114506674183#heading-…

AI Agent框架(LLM Agent):LLM驱动的智能体如何引领行业变革,应用探索与未来展望

AI Agent框架(LLM Agent):LLM驱动的智能实体如何引领行业变革,应用探索与未来展望 1. AI Agent(LLM Agent)介绍 1.1. 术语 Agent:“代理” 通常是指有意行动的表现。在哲学领域,Ag…

Unreal Engine@Jetson Orin Nano尚不支持

Unreal EngineJetson Orin Nano尚不支持 1. 源由2. Unreal Engine介绍3. 问题4. 编译方法5. 补充6. 其他 1. 源由 最近在看SC-Explorer方面的内容,在模拟方面采用了Unreal Engine。 本打算跑下模拟,因此打算在JetsonOrin的板子上试试看。 2. Unreal En…

油猴Safari浏览器插件:Tampermonkey for Mac 下载

Tampermonkey 是一个强大的浏览器扩展,用于运行用户脚本,这些脚本可以自定义和增强网页的功能。它允许用户在网页上执行各种自动化任务,比如自动填写表单、移除广告、改变页面布局等。适用浏览器: Tampermonkey 适用于多数主流浏览…

python 发布应用程序包

文章目录 发布python包toml配置文件构建发布python包 官方文档参考 将自己的python项目发布成源码包或者wheel二进制包,供其他开发者使用。 方式: 使用py工具; distutils,该工具的使用已过时;setuptools,常用方式;wheel,在setuptools的基础上添加了 bdist_wheel, …

Hi3861 OpenHarmony嵌入式应用入门--SNTP

sntp(Simple Network Time Protocol)是一种网络时间协议,它是NTP(Network Time Protocol)的一个简化版本。 本项目是从LwIP中抽取的SNTP代码; Hi3861 SDK中已经包含了一份预编译的lwip,但没有…

SpringCloud集成Oauth2.0看完这个基本就理解原理了

目录 1.技术栈准备工作 2. 模块架构介绍 3.网关模块(gateway) 3.1 网关模块(gateway) 3.2 附上主要依赖包 3.3 bootstrap 相关配置 3.4 gateway.yaml 3.5 UserAuthGlobalFiter 全局拦截器配置 4.授权认证模块(auth) 4.1 启用web安全认证&#xff…

使用LocalDateTime替代Date操作处理日期时间之后:任凭风浪起,稳坐钓鱼台

1.概述 在日常开发系统过程中,日期和时间的操作处理是一个常见的应用功能场景,Java提供了多种工具和库来处理日期和时间操作,其中主要分为:Java 8之前的提供java.util.Date、java.util.Calendar。Java 8引入了全新的日期时间API&…

无线网卡怎么连接台式电脑?让上网更便捷!

随着无线网络的普及,越来越多的台式电脑用户希望通过无线网卡连接到互联网。无线网卡为台式电脑提供了无线连接的便利性,避免了有线网络的束缚。本文将详细介绍无线网卡怎么连接台式电脑的四种方法,包括使用USB无线网卡、内置无线网卡以及使用…

004 线程的状态

文章目录 Java线程可能的状态: 状态名称说明NEW初始状态,线程被构建,但是还没有调用start()方法RUNNABLE运行状态,Java线程将操作系统中的就绪和运行两种状态笼统地称作"运行中"BLOCKED阻塞状态,表示线程阻…

Websocket通信实战项目(图片互传应用)+PyQt界面+python异步编程(async) (上)服务器端python实现

Rqtz : 个人主页 ​​ 共享IT之美,共创机器未来 ​ Sharing the Beauty of IT and Creating the Future of Machines Together 目录 项目背景 ​编辑​专有名词介绍 服务器GUI展示 功能(位置见上图序号) 客户端GUI展示(h5cssjs&#xf…

超融合服务器挂载硬盘--linux系统

项目中需要增加服务器的硬盘容量,通过超融合挂载了硬盘后,还需要添加到指定的路径下,这里记录一下操作步骤。 一:通过管理界面挂载硬盘 这一步都是界面操作,登录超融合控制云台后,找到对应的服务器&#…