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

相关推荐
Nobody__110 分钟前
解决多台服务器 UID/GID 做对齐后,文件系统元数据未更新的情况
运维·服务器
珂玥c40 分钟前
windows系统nfs挂载
运维·windows·ssh·remmina·cygwin
菜择贰42 分钟前
在linux(wayland)中禁用键盘
linux·运维·chrome
oMcLin1 小时前
如何在 Manjaro Linux 上通过配置systemd服务管理,提升微服务架构的启动速度与资源效率
linux·微服务·架构
Kira Skyler1 小时前
bpftool -S 签名功能实现解析
linux
霸气十足+拼命+追梦少年1 小时前
服务器挂载U盘或硬盘
运维·服务器
慕容雪_1 小时前
运维笔记-笔记本无线网卡连接wifi,有线网卡连接内网
运维·内网·远程
小杰帅气1 小时前
进程优先级与切换调度
linux·运维·服务器
方便面不加香菜1 小时前
Linux基本指令(1)
linux
华纳云IDC服务商1 小时前
DNS负载均衡能自动避开故障服务器吗?
运维·服务器·负载均衡