Qt for X11 要求

平台插件依赖

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

It's possible to configure Qt with -qt-xcb, which compiles in a set of xcb helper libraries instead of trying to link against the system versions. This can help make Qt less dependent on some of the xcb helper libraries that might not be available on all distributions. The table specifies which dependencies are provided by -qt-xcb.

名称 Library 注意事项 配置选项 最低工作版本
XRender libXrender X 渲染扩展;用于抗锯齿和 Alpha 光标支持 -xrender 或自动检测 0.9.0
xcb-render libxcb-render 用于渲染扩展的 X C 绑定 auto-detected or provided by -qt-xcb 1.9
xcb-render-util libxcb-render-util 用渲染扩展的 XCB 实用程序库 auto-detected or provided by -qt-xcb 0.3.8
xcb-shape libxcb-shape 同步形状扩展的 X C 绑定 auto-detected or provided by -qt-xcb 1.9
xcb-randr libxcb-randr 用于重置尺寸和旋转扩展的 X C 绑定 auto-detected or provided by -qt-xcb 1.9
xcb-xfixes libxcb-xfixes 用于修复扩展的 X C 绑定 auto-detected or provided by -qt-xcb 1.9
xcb-sync libxcb-sync 用于同步扩展的 X C 绑定 auto-detected or provided by -qt-xcb 1.9
xcb-shm libxcb-shm 用于共享内存扩展的 X C 绑定 auto-detected or provided by -qt-xcb 1.9
xcb-icccm libxcb-icccm 用于 ICCCM 协议的 X C 绑定 auto-detected or provided by -qt-xcb 0.3.9
xcb-keysyms libxcb-keysyms 用于键码转换的 XCB 实用程序库 auto-detected or provided by -qt-xcb 0.3.9
xcb-image libxcb-image 用于 XImage 和 XShmImage 的 XCB 实用程序库,用于 QBackingStore 和光标支持 auto-detected or provided by -qt-xcb 0.3.9
xkbcommon libxkbcommon 键映射处理 -xkbcommon 或自动检测 0.5.0
Fontconfig libfontconfig 字体定制和配置 -fontconfig 或自动检测 2.6
FreeType libfreetype 字体引擎 2.3.0
Xi libXi X11 Input Extensions -xinput 或自动检测 1.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
  • libxext-dev
  • libxfixes-dev
  • libxi-dev
  • libxrender-dev
  • libxcb1-dev
  • libx11-xcb-dev
  • libxcb-glx0-dev
  • libxkbcommon-x11-dev

Additionally, if you do not configure with -qt-xcb, you should also install these development packages:

  • libxcb-keysyms1-dev
  • libxcb-image0-dev
  • libxcb-shm0-dev
  • libxcb-icccm4-dev
  • libxcb-sync0-dev
  • libxcb-xfixes0-dev
  • libxcb-shape0-dev
  • libxcb-randr0-dev
  • libxcb-render-util0-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 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 对于特定构建要求。