银河麒麟V10系统+飞腾CPU编译安装Qt-5.15.2

一、准备工作

1、下载qt源码包

下载网址:https://download.qt.io/archive/qt/

在任意空闲位置新建文件夹,并将源码包解压到该目录下。(这里在/home目录下新建名为Qt_source的文件夹,注:该目录所在位置的空闲空间应大于等于15G

在该目录下执行命令:

sudo xz -d qt-everywhere-src-5.15.2.tar.xz
sudo tar -xvf qt-everywhere-src-5.15.2.tar
2、安装所依赖的库

①安装基础编译环境

执行命令:

sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install build-essential perl python git

②安装编译Libxcb的相关依赖

执行命令:

sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

②安装编译Qt WebKit的相关依赖

执行命令:

sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

③安装编译Qt WebEngine的相关依赖

执行命令:

sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison

④安装编译Qt Multimedia的相关依赖

执行命令:

sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

⑤安装编译QDoc的相关依赖

执行命令:

sudo apt install libclang-6.0-dev llvm-6.0

⑥安装clang-8

sudo apt-get insatll clang-8

⑦安装ninja

#安装ninja编译依赖re2c
sudo apt-get insatll re2c
#编译ninja
cd qt-everywhere-src-5.15.2/qtwebengine/src/3rdparty/ninja
./configure.py --bootstrap
#安装ninja
sudo cp ./ninja  /usr/bin
#检查安装是否完成
ninja --version

二、编译安装

1、输入配置指令和参数

执行指令:

 ./configure -prefix /usr/local/Qt-5.15.2 -release -opensource -nomake examples -nomake tests -platform linux-clang -recheck-all执行./configure 出现:"You don't seem to have 'make' or 'gmake' in your PATH" sudo apt-get install build-essential 如果还不能解决,手动指定$MAKE export MAKE=/usr/bin/make

部分参数说明:

-prefix指定安装路径。
-platform选项指定了编译时使用的编译器.
-release在关闭调试的情况下编译和链接Qt。
-opensource Qt的开源版本的编译和链接。
-shared 创建和使用共享Qt库。
-nomake <part> 从要构建的部件列表中排除部分。
-xplatform <spec> 交叉编译的操作系统和编译器。有关支持的操作系统和编译器的列表,请参阅README文件。
-no-iconv不支持iconv
-xcb 使用系统安装的xcb

几分钟后配置检查完毕:

...
...
...Note: Also available for Linux: linux-clang linux-iccNote: Disabling X11 Accessibility Bridge: D-Bus or AT-SPI is missing.Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into '/usr/local/Qt-5.15.2'.
2、make & make install
a.编译源码

执行命令:

make -j 8

允许8个编译命令同时执行,提高编译效率

特别注意(关键!!!)

执行make -j 8 指令的时候,会出现ninja: build stopped: subcommand failed,此时编译工作会被终止,其实这是一种正常现象,是由于linux进程的限制而不能继续执行。该命令终止于Makefile.gn_run中。解决如下:

首先,拷贝Makefile.gn_run中的ninja编译指令(此处的路径应为qt源码路径):

ninja -v -C /home/gwi/test/qt-everywhere-src-5.15.2/qtwebengine/src/core/release QtWebEngineCore

接着,在qt-everywhere-src-5.15.2编写一个shell脚本(此处的示例脚本名为auto.sh,内容如下:

#!/bin/bash
i=0
times=30000
while [ $i -le $times ]
do
let i++
ninja -v -C /home/gwi/test/qt-everywhere-src-5.15.2/qtwebengine/src/core/release QtWebEngineCore
done

修改该脚本的权限

sudo chmod 777 auto.sh

执行该脚本,直到剩余文件数不再发生变化,按照提示修改相应文件的内容,如:

编译进程在文件数为[1/605]的时候循环,文件数不会减少,此时报错信息为源码文件下的一个头文件中,出现了不允许的数据类型转换。找到该文件,修改相应语句。如当前报错句为:

__fp16 fp16 = __fp16(f)

将其修改为(此处修改仅作为测试使用)

__fp16 fp16


再次执行auto.sh脚本,直到文件数减少为0,使用快捷键ctrl+z结束脚本的运行即可。

b.安装

等待编译结束,执行命令:

sudo make install

Qt会安装在指定的目录下,等待指令执行结束,此时,Qt编译安装成功!

3、qtchooser安装qmake

执行命令,查看系统中所有的qmake:

qtchooser -l

可查看当前系统中qmake的版本

执行命令,安装qmake

qtchooser -install `qt5.15.2` '/usr/locakl/Qt-5.15.2/bin/qmake'

注:绿色部分是安装的名称,可任意命名(此处命令中不含"`")

红色部分是qmake的绝对路径(此处命令不含" ’ '")

执行命令,设一下环境变量,设置默认qmake为刚才添加的最新版本:

(该处只是添加了临时变量,建议直接添加到环境变量中)
export QT_SELECT=qt-5.15.2

执行命令,查看当前系统应用的qmake版本:、

qmake -v

安装结束!

希望大家批评指正~

银河麒麟V10系统+飞腾CPU编译安装Qt-5.15.2相关推荐

  1. 银河麒麟V10系统+飞腾CPU交叉编译安装Qt-5.15.2

    银河麒麟V10系统+飞腾CPU编译安装Qt-5.15.2 一.准备工作 1.下载qt源码包 下载网址:https://download.qt.io/archive/qt/ 在任意空闲位置新建文件夹,并 ...

  2. 银河麒麟V10系统+飞腾CPU交叉编译OpenCV

    一.银河麒麟下安装OPenCV基础库 1.准备工作 在/usr/local/下新建一个ffmpeg文件夹 mkdir /usr/local/ffmpeg 2.安装nasm nasm下载链接如下: ht ...

  3. 基于ARM64银河麒麟V10系统(PK体系)适配安装Ambari2.7.3+HDP3.1

    引言 目前市场上主流的大数据平台以CDH和HDP两种为主,而两种大数据平台都是基于Apache原生态版本改进的,HDP版本的更贴近于原生态版本,开源率100%,基本上支持所有的开源大数据组件.CDH版 ...

  4. .NET 6应用程序适配国产银河麒麟V10系统随记

    最近想在麒麟系统上运行.NET 6程序,经过一番折腾最终完成了,简单记录一下. 目标系统: CPU: aarch64架构(ARM64) 操作系统:银河麒麟V10高级服务器系统 银河麒麟V10系统(以下 ...

  5. CRTD--有关于intel芯片组和BCM4360网卡适配银河麒麟V10系统(适用于macbook)

    在intel芯片组上安装银河麒麟V10系统存在问题: 一开始登录界面瞬间从有亮度到亮度最低,屏幕变黑,当登录进去时,进入设置勉强看到亮度为100%.据分析,是此系统默认调光为系统亮度而不是intel_ ...

  6. 银河麒麟V10(飞腾2000+ ARM)环境下构建达梦V8数据库容器镜像

    1.在银河麒麟V10(飞腾2000+ ARM)设备下,先下载一个镜像,我这里选择了centos: docker pull centos:centos7.9.2009 2.启动一个容器: sudo do ...

  7. 银河麒麟V10虚拟机里用virtualbox安装虚拟机

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.软硬件环境 二.下载安装virtualbox 三.使用virtualbox安装windows虚拟机 1.配置Vmw ...

  8. 银河麒麟V10系统 syslog和kern.log文件过大问题解决,定时清理日志文件

    文章目录 1. 新建clear_log.sh脚本文件 2. 设置cron任务 3. 解决不执行的方法 需求: 在使用银河麒麟V10系统时,/var/log/kern.log 和 /var/log/sy ...

  9. 【国产化系列】银河麒麟V10系统上升级gcc版本

    DATE: 2021.10.15 文章目录 1.前言 2.参考 3.gcc源码下载 4.gcc7.5.0安装步骤 4.1.安装依赖 4.2.configure 4.3.make 1.前言 银河麒麟V1 ...

最新文章

  1. php如何调用c接口无错版
  2. python中矩阵的表示方法_关于Python表示矩阵的方法详解
  3. 20165219 预备作业3 Linux安装及学习
  4. UCOS 操作系统 安装配置环境
  5. sql语法中 什么值需要用单引号‘’修饰?
  6. python3读取excel某一列_怎样用python,读取excel中的一列数据!python读取excel某一列数据...
  7. 35载再忆华罗庚精神:我们应培养怎样的数学大师?​
  8. mysql 7下载安装及问题解决
  9. 12.Linux 高性能服务器编程 --- 高性能 IO 框架库 Libevent
  10. python keras_用Python/Keras/Flask/Docker在Kubernetes上部署深度学习模型
  11. Atitit 通信技术概要 艾提拉著 目录 1. 通信系统原理(孔英会编著的图书)_百度百科.html 2 1.1. 第1章绪论1 2 1.2. 第2章信号分析基础25 2 1.3. 第3章信道5
  12. 第十一届蓝桥杯校园赛---原题+解析+答案
  13. 基于stm32单片机的电梯控制系统
  14. 【信号处理】脉搏信号处理系统含Matlab源码
  15. 蓝桥杯:填字母游戏(第八届决赛javaB第五题)——博弈+递归+回溯
  16. 秒杀系统学习-seckill
  17. 大学计算机实验教程实验4,计算机组成原理实验报告(四个实验 图)
  18. 福大软工1816 · 团队现场编程实战(抽奖系统)
  19. 腾讯VS华为:2021“渠道战争”第一枪
  20. 山东省智慧城市产业技术创新战略联盟成立

热门文章

  1. vue实现打印功能,并多页打印
  2. 多租户与多用户的区别
  3. macOS下鼠标滚轮慢速滚动不起作用的问题解决
  4. 01-css选择的艺术
  5. 一个很有意思的flash游戏,蚂蚁蛋糕保卫战(antbuster)
  6. golang知识图谱NLP实战第四节——关系抽取完善逻辑
  7. Data alignment
  8. 长度一百万的数组,get(0)和get(999999)性能有区别吗?
  9. IDEA奇YIN巧技
  10. 模仿百度校园招聘流程【HTML】