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

银河麒麟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-icc

Note: 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

安装结束!

希望大家批评指正~

  • 20
    点赞
  • 176
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
银河麒麟系统是基于Ubuntu的操作系统,因此编译安装QT的方式与Ubuntu类似。以下是详细步骤: 1. 安装必要的依赖项: ``` sudo apt-get update sudo apt-get install build-essential libfontconfig1 mesa-common-dev libglu1-mesa-dev libpng-dev libjpeg-dev libtiff5-dev libicu-dev libssl-dev libx11-dev libglib2.0-dev libsqlite3-dev ``` 2. 下载QT源码: 在官网 https://www.qt.io/download 下载最新的QT源码包,例如Qt 5.15.2。 3. 解压源码包: ``` tar -xvf qt-everywhere-src-5.15.2.tar.xz ``` 4. 配置编译选项: ``` cd qt-everywhere-src-5.15.2 ./configure -opensource -confirm-license -nomake examples -nomake tests -no-pch -skip qtwebengine -prefix /opt/Qt/5.15.2 ``` 其中: - `-opensource` 表示使用开源许可证; - `-confirm-license` 表示确认使用许可证; - `-nomake examples` 和 `-nomake tests` 表示不编译示例和测试程序; - `-no-pch` 表示不使用预编译头文件; - `-skip qtwebengine` 表示不编译 WebEngine 模块(该模块需要 Chromium 和大量依赖项); - `-prefix /opt/Qt/5.15.2` 表示安装路径为 `/opt/Qt/5.15.2`。 注意:如果要编译 WebEngine 模块,则需要先安装 Chromium 和其他依赖项,详见 QT 官网的文档。 5. 编译源码: ``` make -j4 ``` 其中 `-j4` 表示使用 4 个线程进行编译,可以根据 CPU 核心数调整。 6. 安装 QT: ``` sudo make install ``` 7. 配置环境变量: 将以下内容添加到 `/etc/profile` 或当前用户的 `~/.bashrc` 文件中: ``` export PATH=/opt/Qt/5.15.2/bin:$PATH export LD_LIBRARY_PATH=/opt/Qt/5.15.2/lib:$LD_LIBRARY_PATH ``` 8. 使环境变量生效: ``` source /etc/profile ``` 或者重启终端。 9. 验证 QT 是否安装成功: ``` qmake -v ``` 如果输出类似如下信息,则表示 QT 安装成功: ``` QMake version 3.1 Using Qt version 5.15.2 in /opt/Qt/5.15.2/lib ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值