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

news/2024/7/8 3:37:56 标签: qt, 开发语言

一、概述
        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.niftyadmin.cn/n/5536327.html

相关文章

入门PHP就来我这(纯干货)08

~~~~ 有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享 ~~~~ 路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。 1 PHP对象的高级应用 1.1 final关键字 final 最终的、最后的。被final修饰过的类…

vscode(七):设置不同括号有不同颜色

一、打开vscode 的setting界面 输入 bracket pair ,将Editor › Guides: Bracket Pairs这一项设置为true 二、效果 不同括号对具有不同的颜色

算法库应用-顺序串(串比较)

学习贺利坚老师博客 数据结构例程——串的顺序存储应用_使用顺序串存储身份证号-CSDN博客 本人详细解析博客 串的顺序存储结构应用_(1)假设串采用顺序串存储,设计一个算法程序,按顺序比较两个串s和t的大小。请-CSDN博客 版本日志 V1.0: 利用顺序串, 进行简单的判断比较, 也算是…

离线安装arm架构Firefox

离线安装Firefox浏览器及其插件在ARM架构的设备上(如树莓派、部分Android设备或其他采用ARM处理器的Linux系统)可能需要一些特殊步骤,因为默认情况下,大多数浏览器和插件都是为x86架构设计的。对于ARM架构,你需要找到特…

spring6框架解析(by尚硅谷)

文章目录 spring61. 一些基本的概念、优势2. 入门案例实现maven聚合工程创建步骤分析实现过程 3. IoC(Inversion of Control)基于xml的bean环境搭建获取bean获取接口创建实现类依赖注入 setter注入 和 构造器注入原生方式的setter注入原生方式的构造器注…

vue2 webpack使用optimization.splitChunks分包,实现按需引入,进行首屏加载优化

optimization.splitChunks的具体功能和配置信息可以去网上自行查阅。 这边简单讲一下他的使用场景、作用、如何使用: 1、没用使用splitChunks进行分包之前,所有模块都揉在一个文件里,那么当这个文件足够大、网速又一般的时候,首…

大数据开发中的数据生命周期管理

上班越久,发现有些数据一直放在那里,根本没有流动,完全没有发挥价值,数据是有生命周期的,而且生命周期管理得好,工作就会更轻松。 目录 引言数据创建示例代码 数据存储示例代码 数据使用示例代码 数据维护示…

SQL Server特性

一、创建表 在sql server中使用create table来创建新表。 create table Customers( id int primary key identity(1,1), name varchar(5) ) 该表名为Customers其中包含了2个字段,分别为id(主键)以及name。 1、数据类型 整数类型&#xff…