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

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

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/bashQT_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 "         #不编译testsCONFIG_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.lryc.cn/news/104402.html

相关文章:

  • CentOS 项目发出一篇奇怪的博文
  • 【Mybatis-Plus】or拼接
  • SpringBoot项目部署在Windows与Centos上
  • 网站服务器出错的原因分析和解决方法
  • 电影推荐系统】系统初步搭建及离线个性化推荐
  • Redis 集群 (cluster)
  • 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(19)-Fiddler精选插件扩展安装,将你的Fiddler武装到牙齿
  • 解决spring.thymeleaf.cache=false不起作用的问题
  • 企业可以申请DV https证书吗
  • 记一次phpmyadmin巧妙利用
  • HTML+CSS+JavaScript:轮播图的自动播放、手动播放、鼠标悬停暂停播放
  • 微信小程序:生成二维码带参数并获取值
  • 《Java面向对象程序设计》学习笔记——第 3 章 运算符、表达式和语句
  • XML约束和解析
  • 网络层:IP协议/Mac协议
  • 让你不在好奇怎么把录音转化成文字更快捷
  • 分布式异步任务处理组件(四)
  • 【C++】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值
  • Spring项目整合策略模式~实战应用
  • mybatis PageHelper的坑---记录
  • uniapp微信小程序下载文件并打开
  • 安卓Intent打开系统进程汇总
  • python学习(廖雪峰的官方网站部分,自学笔记)
  • python题-检查该字符串的括号是否成对出现
  • 3ds Max建模教程:模拟布料拖拽撕裂和用剑撕裂两种效果
  • 数据可视化(4)散点图及面积图
  • Redis - 数据过期策略
  • 英文论文(sci)解读复现:基于YOLOv5的自然场景下苹果叶片病害实时检测
  • 【Liux下6818开发板(ARM)】实现简易相册
  • Kubernetes(K8s)从入门到精通系列之六:K8s的基本概念和术语之存储类