centOs 6.10 编译 qt 5.15.11

安装依赖库

xcb 依赖库

qt xcb 需要的依赖

如何要用 x11, 就要在编译的时候加上 -xcb 选项,就要安装 xcb 相关的库。

到时可以在 config.log 文件查看,缺少哪个库就安装哪个。

下面是我手动安装的库和对应版本:

xml 复制代码
xcb-proto-1.14.tar.gz
xcb-util-image-0.4.1.tar.gz
xcb-util-keysyms-0.4.1.tar.gz
xcb-util-renderutil-0.3.10.tar.gz
xcb-util-wm-0.4.2.tar.gz

注意:

  • 要先安装 xcb-proto 再安装其它的库。
  • 如果安装了库还是找不到,就配置 pkg-config 的搜索路径(一般是安装时自动配置好的)

xcb相关库下载地址

安装 xkbcommon 依赖库

x11 也会用到 xkbcommon 库,这个库在 centos 6.10 的包管理工具中没有,也需要源码编译安装

下载地址

我下载的是 1.5.0 版本。

解压
shell 复制代码
tar -xvf libxkbcommon-1.5.0.tar.xz
编译安装
shell 复制代码
cd libxkbcommon-1.5.0
meson setup build
meson compile -C build
# 安装完成后要配置 pkg-config 的搜索路径 .pc 文件

这里用的到 meson 工具也需要重新安装,版本要大于 0.55,centos 6.10 自带的版本太低了。

安装 meson
shell 复制代码
python -m pip install meson
python -m pip install ninja

这里的 python 也要重新安装,并且要配置好 openssl 才可以使用 pip。

可以参考我的另一篇教程:centos 6.10 安装 python3.10.5 和 openssl1.1.1

下载安装 qt 5.15.11

下载路径

下载后解压

依次执行下面命令

shell 复制代码
cd qt-everywhere-src-5.15.11
mkdir build && cd build
../configure -opensource -xcb -xcb-xlib -xkbcommon -qt-sqlite -sql-sqlite -prefix /home/keith/soft/qt5.15.11
gmake
gamke install

安装过程中的其它问题

整个安装过程是一个探索的过程,持续了快一个星期左右,前期的有些问题已经不记得是怎么解决的了。只记得遇到过这些问题

yum 无法使用

centos 6 在 2020 年 12 月以后,官方已经不在进行维护了, yum 无法直接再下载安装软件。

可以参考网上的教程,重新配置一下

注意: 或许不用配置,因为 yum 能直接安装的包都太老了,无法直接使用。

当时还遇到一个问题,是因为执行了:
yum install centos-release-scl, 导致后面一直报错,要把这个包删了才行:yum remove centos-release-scl

binutils 版本太老

忘了这个的报错是怎么样的了,但是可以参考这个文章解决
参考路径

sqlite

如果要用 sqlite

用 -qt-sqlite 选项, 用 qt 自带的 sqlite 而不是系统的

参考链接

Building Qt 5 from Git
How to Install Qt 5 and Qwt on CentOS 6
centos 6.10 安装 gcc 9.4
centos 6.10 安装 perl 5.14

相关推荐
未来之窗软件服务3 分钟前
服务器运维(十九)web服务管理Nginx UI介绍——东方仙盟炼气期
运维·服务器·服务器运维·东方仙盟
梦想的旅途27 分钟前
企业微信外部群消息自动化:模拟操作与工程化实现路径探讨
运维·服务器
代码游侠15 分钟前
学习笔记——Linux进程间通信(IPC)
linux·运维·笔记·学习·算法
郝学胜-神的一滴16 分钟前
Linux C++ 守护进程开发指南
linux·运维·服务器·开发语言·c++·程序人生·性能优化
李斯维21 分钟前
第18章 过滤器:统计和格式化
linux·bash·unix
云和数据.ChenGuang23 分钟前
OpenEuler 系统中安装 MySQL
运维·数据库·mysql·adb·运维工程师·运维技术
DeeplyMind29 分钟前
ROCm rocr-libhsakmt性能跟踪与分析系列10-5:跟踪启动、数据采集与停止
linux·驱动开发
jerryinwuhan31 分钟前
linux_1219_1
linux
为什么不问问神奇的海螺呢丶31 分钟前
SFTP搭建-自动检测上传文件修改权限-rsync 自动同步到其他服务器
运维·服务器
山沐与山32 分钟前
【Docker】Docker容器技术详解
运维·docker·容器