国产银河麒麟V10操作系统,虽然内核是linux,但经过了一些改造,因此跟常用的linux系统相比,还是有一些差异,经过反复测试,发现不是每一个qt库版本都可以安装,并且有一些qt库即使安装上了,也会缺少一些组件,导致qt开发的C++程序编译失败,而qt-everywhere-5.15.2版本则暂时没有碰到缺组件的问题,接下来我们将以安装qt-everywhere-5.15.2版本为例说明qt的安装过程:

(1)首先下载qt库源码

地址:https://download.qt.io/archive/qt/5.15/5.15.2/single/

记住一定要下载 qt-everywhere-src-5.15.2.tar.xz

不要下载 zip ,zip 包是给windows系统用的。

(2)解压缩源码

sudo xz -d qt-everywhere-src-5.15.2.tar.xz

(3)安装 libxcb 依赖

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

(4)安装 Qt Webkit 相关依赖

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

(5)安装 Qt WebEngine 依赖

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

(6)安装 Qt Multimedia 依赖

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

(7)安装 QDoc 相关依赖

sudo apt-get install libclang-6.0-dev llvm-6.0

(8)安装 clang-8

sudo apt-get install clang-8

说明:使用 clang 编译C/C++程序源码

(9)安装 ninja

# 安装 ninja 依赖
sudo apt-get install re2c

# 编译 ninja
cd qt-everywhere-src-5.15.2/qtwebengine/src/3rdparty/ninja
./configure.py --bootstrap

# 安装 ninja
sudo cp ./ninja /usr/bin
#检查安装的ninja是否成功
ninja --version

(10)编译安装 qt 源码

# 配置
./configure -prefix /usr/local/qt-qt-5.15.2 -release -opensource -nomake examples -nomake tests -platform linux-clang

# 编译
sudo make -j 8

# 安装
sudo make install

# 检查是否安装成功
# 执行下面的命令,启动 Qt Creator IDE程序,如果成功则代表安装成功
sudo qtcreator

说明:

-prefix: 指定安装路径

-platform: 指定编译时使用的编译器

-release: 关闭调试的情况下编译和链接QT

-opensource: QT的开源版本的编译和链接

-shared: 创建和使用QT共享库

-nomake <part>: 从要构建的部分列表中排除部分

-xplatform <spec>: 交叉编译的操作系统和编译器

-no-iconv: 不支持iconv

-xcb: 使用系统安装的xcb

转载于:https://zhuanlan.zhihu.com/p/453825102

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐