麒麟-飞腾Kylin-V4桌面arm64系统静态编译QT

news2024/12/23 22:45:16

1.系统具体版本:

 

2. 因为此版本的源很老了,需要修改版本的源,才能正常更新各种软件,否则,你连麒麟商店都打不开。

sudo vi /etc/apt/sources.list

选择你系统对应版本的源地址: 

#4.0.2桌面版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2-desktop main restricted universe multiverse

#4.0.2-sp1桌面版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp1-desktop main restricted universe multiverse

#4.0.2-sp2桌面版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-desktop main restricted universe multiverse

#4.0.2服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2-server main restricted universe multiverse

#4.0.2-sp1服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp1-server main restricted universe multiverse

#4.0.2-sp2服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-server main restricted universe multiverse

#4.0.2-sp2 FT2000+服务器版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp2-server-ft2000 main restricted universe multiverse

#4.0.2-sp3桌面版本:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2sp3-desktop main restricted universe multiverse

改完后: 

 然后重启电脑。

3.编译QT源码:

在编译之前,因为qt会用到openssl。我们要确定openssl的版本:

输入   openssl version

openssl version

 

如果你的版本不是 1.1.0 以上版本,则需要升级openssl版本:

先卸载原低版本:

sudo apt-get remove openssl

 

 下载openssl源码:

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1d.tar.gz

解压压缩包:

tar -zxvf openssl-1.1.1d.tar.gz

 进入文件夹:

cd openssl-1.1.1d

执行编译:

sudo ./config

 

然后执行编译:

sudo make && make install

 等待编译完成。

输入   openssl version 查看版本

qt源码下载地址:https://download.qt.io/archive/qt/

我下载的是 5.12.10版本:https://download.qt.io/archive/qt/5.12/5.12.10/single/qt-everywhere-src-5.12.10.tar.xzhttps://download.qt.io/archive/qt/5.12/5.12.10/single/qt-everywhere-src-5.12.10.tar.xz

先安装必要依赖:

sudo apt-get install bison build-essential gperf flex ruby python libasound2-dev libbz2-dev libcap-dev libcups2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev libxtst-dev gyp ninja-build libglu1-mesa-dev libfontconfig1-dev libx11-xcb-dev libicu-dev libxkbcommon-x11-dev python3 libxcb-xfixes0-dev libqt5serialport5 libqt5serialport5-dev libgl1-mesa-dev freeglut3-dev aptitude -y

下载:

wget https://download.qt.io/archive/qt/5.12/5.12.10/single/qt-everywhere-src-5.12.10.tar.xz 

执行解压:

tar -xvf qt-everywhere-src-5.12.10.tar.xz

进入文件夹:

cd qt-everywhere-src-5.12.10

 创建文件 autoConfigure.sh

vim autoConfigure.sh

然后就是linux下操作文本的基本命令,按 i 变为插入状态然后粘贴以下代码:

#! /bin/bash
 
QT_INSTALL_PATH="-prefix /root/qt/qt_5.12.10"     #你的Qt保存路径(自己修改)
QT_COMPLIER+="-platform linux-aarch64-gnu-g++"  #编译器-这里选择arm编译
 
CONFIG_PARAM+="-static "               #静态编译
CONFIG_PARAM+="-release "              #编译release
CONFIG_PARAM+="-nomake examples "      #不编译examples
CONFIG_PARAM+="-nomake tests "         #不编译tests
 
CONFIG_PARAM+="-qt-xcb "
 
#选择Qt版本(开源, 商业), 并自动确认许可认证
CONFIG_PARAM+="-opensource "           #编译开源版本, -commercial商业版本
CONFIG_PARAM+="-confirm-license "      #自动确认许可认证
 
echo "./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH"
 
./configure $CONFIG_PARAM $QT_COMPLIER $QT_INSTALL_PATH

按ESC退出编辑状态,输入  :wq   保存文件。

然后修改文件权限:

sudo chmod -R 777 autoConfigure.sh

执行脚本文件:

sudo ./autoConfigure.sh

等待执行完成,如果没有Error,则为成功,警告可以忽略。

如果产生ERR,则复制错误信息,百度搜索解决。

配置完成后,执行sudo make -j4开始编译(-j4参数可修改,也可去除),等待编译完成。

sudo make -j4

编译完成后,执行sudo make install安装:

sudo make install

如果没有异常出现,则生成的静态编译文件则在:

QT_INSTALL_PATH="-prefix /xxxxxxx/xxxxx"     #你的Qt保存路径(自己修改)

这个路径下。

5.启动qtcreator后,配置编译环境:3-选择你保存的静态路径 /xxxxxxx/xxxxx

 

添加完成后,记住,都要点击 应用 按钮保存配置。

然后就可以打开你的工程编译了,选择你添加的这个套件即可。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s 中的卷

前面的文章我们分享了 pod ,RC,RS,DaemonSet,CJ,Service 等各种资源 今天我们来分享一波如何将磁盘挂载到容器中,在 docker 里面这种技术叫做 数据卷,感兴趣的小伙伴可以查看一下文章&#xff…

JDK环境配置、且运行一个简单程序

目录 JDK环境配置命令行运行java文件 JDK环境配置 下载好jdk,打开jdk下的bin,复制路径。 右击我的电脑,点击属性,找到高级系统设置,点击环境变量。 双击path,新建把路径粘贴进去即可。 打开cmd输入javac -version…

不会编程也可以制作ERP、CRM系统?

在以往的编程开发中,如果想要个人开发一款简单的ERP等流程系统,肯定是需要有编程代码的功底的,再学习编程语言和框架,又得花费大量的时间,而且不能完全确保可以做出来,毕竟编程开发有一定的门槛&#xff0c…

3d Max中的Arnold渲染为黑色,这样处理!

使用Arnold渲染视图(ARV)时,图像保持黑色。 快照功能和常规3ds Max渲染设置可按预期生成图像。 解决方案: 解决方案可能需要执行下面的一项或多项操作: 添加光源 检查场景文件是否包含光源。如果场景中没有光源,渲染结果为黑色…

通信算法之178: 通信信道模型及循环/线性卷积2

上一篇见 通信算法之159: 通信信道模型和循环/线性卷积 一. 衰减 二.多径效应--时延扩展--相干带宽 三. 时变性--多普勒扩展--相干时间 四. 频率选择性衰落,时间选择性衰落 小尺度衰落,小 五.瑞丽和莱斯信道 六循环卷积与线性卷积 线性卷积定义及计算…

C# PaddleInference OCR 表格识别

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleInferenceSdcb.PaddleOCR 测试图片 代码 using OpenCvSharp.Extensions; using OpenCvSharp; using Sdcb.PaddleInference; using Sdcb.PaddleOCR; using Sdcb.PaddleOCR.Models; using Sdcb.PaddleOCR.Models.Details; using…

netwox伪造ARP响应【网络工程】(保姆级图文)

目录 伪造ARP响应1) 在模拟之前,验证局域网中是否存在主机 192.168.43.97。在主机 B 上使用 arping 命令 ping 该主机。执行命令如下:2) 在主机 A 上伪造 ARP 响应,创建虚拟主机 192.168.43.97,设置其 MAC 地址为 A1:B…

react 初学(1)

1.安装环境 需要Node.js 自行下载安装 然后全局安装create-react-app npm install -g create-react-app 如果出现报错请参考 create-react-app -V 报错无法将“create-react-app”项识别为 cmdlet、函数、脚本文件或可运行程序的名称_Java-请多指教的博客-CSDN博客 2.创建…

尚医通04:Axios Node Npm bable webpack+前端工程改造

目录 本日学习 内容介绍 Axios Node NPM包管理器 本日学习 1. 了解Axios :他是异步请求用的,前后端。 用于在浏览器和 Node.js 中发送 HTTP 请求。它支持从服务器获取数据、上传数据以及执行其他与 HTTP 相关的操作。 2.Node:它允许你在服务器端运行 JavaScrip…

stm32(adc数模转换)

ADC介绍 ADC是什么? 全称:Analog-to-Digital Converter,指模拟/数字转换器 ADC的性能指标 量程:能测量的电压范围分辨率:ADC能辨别的最小模拟量,通常以输出二进制数的位数表示,比如&#xff1…

Leetcode每日一题:931. 下降路径最小和(2023.7.13 C++)

目录 931. 下降路径最小和 题目描述: 实现代码与解析: 动态规划 原理思路: 931. 下降路径最小和 题目描述: 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降…

mongdb实战

概述 前言 这几天轮播图想用mongdb开发,然后就有了一下代码 效果图 源码如下 package jkw.pojo;import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.index.Indexed; import org.springframewo…

【JAVA】穷词——基于嵌入式的数据库derby+BeautyEye的单词字典应用

文章目录 1. 题目2. 项目结构层次3. 环境以及技术栈说明4. 项目报告4.1软件功能描述4.2项目类图4.2.1 src层级下的类图4.2.2 data层级下的类图4.2.3 gui层级下的类图4.2.4 resource层级下的类图4.2.5 view层级下的类图4.2.6 DelWord的类图4.2.7 CustomMessageDialog的类图4.2.8…

Antd List组件增加gutter属性后出现横向滚动,如何解决

第一次使用ant design的List列表组件,设置gutter间隔属性后,页面出现了横向滚动条,查阅文档发现是由于加间隔后导致容器宽度被撑开,ant design官方默认给外层容器加了margin-left和margin-right 解决方法是在外层容器预留一定的pa…

stringstream的使用

写到290题使用stringstream简化步骤&#xff0c;学习一下使用 目录 小问题&#xff1f; 成员函数clear() 那么问题来了&#xff1f;clear在啥时候用呢&#xff1f; 数据类型转换 <sstream>库定义了三种类&#xff1a;istringstream、ostringstream、stringstream &l…

RT1176 LCDIFv2 RGB565引脚不连续

RT1052和RT1176的LCDIF&#xff0c;使用RGB565格式时PIN脚分配是连续的:LCDIF_DATA00~LCDIF_DATA15。 但RT1176的LCDIFv2并不是这样&#xff0c;使用RGB565格式时PIN脚分配不是连续的&#xff0c;而是移位填充8位*324位分配的。 RT1176 LCDIFv2 RGB565LCDIF_DATA00LCDIF_DATA0…

CVE漏洞复现-CVE-2021-36934 Windows 提权漏洞

CVE-2021-36934 Windows 提权漏洞 漏洞描述 7月20日&#xff0c;微软确认了一个新的本地提权漏洞&#xff0c;安全研究成员将其称为HiveNightmare或者SeriousSAM&#xff0c;该漏洞允许低权限的用户访问Windows系统文件。成功利用此漏洞的攻击者可以使用SYSTEM特权运行任意代…

16位ADC芯片SGM58031驱动重点

16位ADC芯片SGM58031驱动重点 文章目录 16位ADC芯片SGM58031驱动重点引脚描述时间要求I2C时序图I2C通讯描述I2C接口I2C地址选择I2C常规呼叫I2C速度模式从模式操作 寄存器指针寄存器转换寄存器配置寄存器低阈值和高阈值寄存器Config1寄存器芯片ID寄存器GN_Trim1寄存器&#xff0…

Linux(驱动编程)(调试技术)(imx6ull)

调试技术 1、在写驱动程序时函数未包含头文件 在linux内核源码driver/char目录下输入命令 grep “XXXX” * -nrw查看次函数在那个.c里用过&#xff0c;然后在vscode界面下按altp搜索这个.c就可以参考这个.c的头文件。 2、编译完驱动跟应用后先 insmod xxx.ko //插入 cat /…

原创 | SQL和 NoSQL的基本操作和查询语句

作者&#xff1a;杨金珊本文约3500字&#xff0c;建议阅读7分钟本文为你介绍SQL和 NoSQL的基本操作和查询语句。 SQL&#xff08;结构化查询语言&#xff09; SQL是用于管理和操作关系型数据库的语言。它遵循结构化模式&#xff0c;将数据组织成具有预定义关系的表格形式。以下…