Qt for X11 要求

平台插件依赖

在 Linux, xcb 使用 QPA (Qt 平台抽象) 平台插件。它提供所需基本功能通过 Qt GUI and Qt Widgets 以运行针对 X11。下表描述其库的依赖。要从其源代码构建 Qt,还需要为系统安装这些库的开发包。

注意: 从 Qt 5.15 起,Qt 确实要求 libxcb 1.11。另外, -qt-xcb 配置选项被移除 (捆绑以下一些库)。无论如何,现在可以配置采用 -bundled-xcb-xinput 以避免依赖系统 xcb-xinput。

名称 注意事项 配置选项 最低工作版本
XRender libXrender X 渲染扩展;用于抗锯齿和 Alpha 光标支持 -xrender 或自动检测 0.9.0
xcb-render libxcb-render 用于渲染扩展的 X C 绑定 自动检测 1.9
xcb-render-util libxcb-render-util 用渲染扩展的 XCB 实用程序库 自动检测 0.3.8
xcb-shape libxcb-shape 同步形状扩展的 X C 绑定 自动检测 1.9
xcb-randr libxcb-randr 用于重置尺寸和旋转扩展的 X C 绑定 自动检测 1.9
xcb-xfixes libxcb-xfixes 用于修复扩展的 X C 绑定 自动检测 1.9
xcb-sync libxcb-sync 用于同步扩展的 X C 绑定 自动检测 1.9
xcb-shm libxcb-shm 用于共享内存扩展的 X C 绑定 自动检测 1.9
xcb-icccm libxcb-icccm 用于 ICCCM 协议的 X C 绑定 自动检测 0.3.9
xcb-keysyms libxcb-keysyms 用于键码转换的 XCB 实用程序库 自动检测 0.3.9
xcb-image libxcb-image 用于 XImage 和 XShmImage 的 XCB 实用程序库,用于 QBackingStore 和光标支持 自动检测 0.3.9
xkbcommon libxkbcommon 键映射处理 -xkbcommon 或自动检测 0.5.0
xkbcommon-x11 libxkbcommon-x11 键映射处理 自动检测 0.5.0
Fontconfig libfontconfig 字体定制和配置 -fontconfig 或自动检测 2.6
FreeType libfreetype 字体引擎 2.3.0
Xext libXext X 扩展 6.4.3
X11 libX11 X11 客户端侧库 6.2.1
xcb libxcb X C 绑定库 1.9
X11-xcb libX11-xcb Xlib/XCB 接口库 1.3.2
SM libSM X 会话管理 -sm 或自动检测 6.0.4
ICE libICE ICE (客户端间交换) -sm 或自动检测 6.3.5
glib libglib-2.0 常见事件循环处理 -glib 或自动检测 2.8.3
pthread libpthread 多线程 2.3.5

这些库开发包包含从其源代码构建 Qt 时使用的头文件。例如,在基于 Debian 的 GNU/Linux 系统,推荐安装以下开发包:

  • libfontconfig1-dev
  • libfreetype6-dev
  • libx11-dev
  • libx11-xcb-dev
  • libxext-dev
  • libxfixes-dev
  • libxi-dev
  • libxrender-dev
  • libxcb1-dev
  • libxcb-glx0-dev
  • libxcb-keysyms1-dev
  • libxcb-image0-dev
  • libxcb-shm0-dev
  • libxcb-icccm4-dev
  • libxcb-sync-dev
  • libxcb-xfixes0-dev
  • libxcb-shape0-dev
  • libxcb-randr0-dev
  • libxcb-render-util0-dev
  • libxcb-xinerama-dev
  • libxkbcommon-dev
  • libxkbcommon-x11-dev

这些包中的某些依赖此列表中的其它,因此安装一个可能导致其它被自动安装。其它分布可能为系统包提供类似名称。

可访问性依赖

Qt 可访问性实现使用 辅助技术服务提供商接口 (AT-SPI)。除 DBUS 外,开发包 libatspi2.0-dev 必须安装。

OpenGL 依赖

配置试图自动检测 OpenGL ES 2.0 或更高版本或常规桌面 OpenGL。可以禁用 OpenGL 支持通过使用 -no-opengl 选项。

注意: Qt OpenGL 模块 (包含类开头采用 QGL ) 弃用代之 Qt GUI 模块 (包含类开头采用 QOpenGL ).

多媒体依赖

作为描述在 多媒体 概述,Qt Multimedia 使用 GStreamer 多媒体框架作为 Linux 音频、视频回放后端。GStreamer 的最低要求版本为 0.10.24。还支持 1.x 系列。

要构建 Qt Multimedia,需要 GStreamer 库、基插件及系统开发文件。要运行使用 Qt Multimedia 的应用程序,可能还需要安装以下 GStreamer 插件:good、ugly、bad、ffmpeg (0.10) 及 libav (1.x)。这些额外插件包含用于音频和视频解码的各种编解码器,及使用摄像头 API 的必要组件。GStreamer 包名称在 Linux 分发之间会有所不同。试着搜索 gstreamer or libgstreamer 在分发包存储库中查找适合包。

语音依赖

Qt Speech depends on Speech Dispatcher (libspeechd) on the Linux platform. The following development packages should be installed:

  • flite1-dev
  • libspeechd-dev
  • speech-dispatcher

Qt WebEngine 依赖

Qt WebEngine 拥有的其它构建要求列表于 Qt WebEngine 平台注意事项 .

QDoc 依赖

从 v5.11 起, QDoc uses Clang to parse C++ code. If you wish to build QDoc manually, refer to 为 QDoc 安装 Clang 对于特定构建要求。