Требования Qt для X11
Зависимости плагина платформы
В Linux используется платформа QPA (Qt Platform Abstraction) xcb. Она предоставляет базовые функции, необходимые для Qt GUI и Qt Widgets для работы с X11. Зависимости от библиотек описаны в следующей таблице. Для построения Qt из исходного кода также необходимо установить пакеты разработки для этих библиотек для вашей системы.
Примечание: Начиная с Qt 5.15, Qt требует libxcb 1.11. Также удалён параметр конфигурации -qt-xcb, который объединял некоторые из библиотек ниже. В любом случае, вы теперь можете использовать параметр конфигурации -bundled-xcb-xinput, чтобы избежать зависимости от системного xcb-xinput.
| Имя | Библиотека | Примечания | Параметры конфигурации | Минимальная рабочая версия |
|---|---|---|---|---|
| XRender | libXrender | Расширение X Rendering; используется для поддержки сглаживания и альфа-курсора |
-xrender или автоматическое определение |
0.9.0 |
| xcb-render | libxcb-render | X C Bindings для расширения Render | автоматическое определение | 1.11 |
| xcb-render-util | libxcb-render-util | Утилитарная библиотека для XCB для расширения Render | автоматическое определение | 0.3.9 |
| xcb-shape | libxcb-shape | X C Bindings для расширения Shape | автоматическое определение | 1.11 |
| xcb-randr | libxcb-randr | X C Bindings для расширения Resize and Rotate | автоматическое определение | 1.11 |
| xcb-xfixes | libxcb-xfixes | X C Bindings для расширения Fixes | автоматическое определение | 1.11 |
| xcb-xkb | libxcb-xkb | X C Bindings для расширения XKeyboard | автоматическое определение | 1.11 |
| xcb-sync | libxcb-sync | X C Bindings для расширения Sync | автоматическое определение | 1.11 |
| xcb-shm | libxcb-shm | X C Bindings для расширения Shared Memory | автоматическое определение | 1.11 |
| xcb-icccm | libxcb-icccm | X C Bindings для протокола ICCCM | автоматическое определение | 0.3.9 |
| xcb-keysyms | libxcb-keysyms | Утилитарная библиотека для XCB для преобразования кодов клавиш | автоматическое определение | 0.3.9 |
| xcb-image | libxcb-image | Утилитарная библиотека для XCB для XImage и XShmImage, используемая для QBackingStore и поддержки курсора | автоматическое определение | 0.3.9 |
| xcb-util | libxcb-util | Утилитарная библиотека для XCB для атомов, вспомогательных данных и событий | автоматическое определение | 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 Bindings | 1.11 | |
| X11-xcb | libX11-xcb | Библиотека интерфейса Xlib/XCB | 1.3.2 | |
| SM | libSM | Управление сеансом X |
-sm или автоматическое определение |
6.0.4 |
| ICE | libICE | Взаимообмен между клиентами |
-sm или автоматическое определение |
6.3.5 |
| glib | libglib-2.0 | Общая обработка цикла событий |
-glib или автоматическое определение |
2.8.3 |
| pthread | libpthread | Многопоточность | 2.3.5 |
Пакеты разработки для этих библиотек содержат заголовочные файлы, которые используются при построении Qt из исходного кода. Например, на системах GNU/Linux, основанных на Debian, рекомендуется установить следующие пакеты разработки:
- 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-util-dev
- libxcb-xinerama0-dev
- libxcb-xkb-dev
- libxkbcommon-dev
- libxkbcommon-x11-dev
Некоторые из этих пакетов зависят от других в этом списке, поэтому установка одного может привести к автоматической установке других. В других дистрибутивах могут быть доступны системные пакеты с похожими именами.
Зависимости от функций доступности
Реализация функций доступности Qt использует Assistive Technology Service Provider Interface (AT-SPI). Помимо DBUS, необходимо установить пакет разработки libatspi2.0-dev.
Зависимости OpenGL
Попытки конфигурации автоматически обнаруживают OpenGL ES 2.0 или более поздние версии, или обычный настольный OpenGL. Поддержку OpenGL можно отключить с помощью параметра конфигурации -no-opengl.
Примечание: Модуль Qt OpenGL (который содержит классы, начинающиеся с QGL) устарел в пользу модуля Qt GUI (который содержит классы, начинающиеся с QOpenGL).
Зависимости QDoc
QDoc использует Clang для разбора кода C++. Если вы хотите собрать QDoc вручную, обратитесь к Установка Clang для QDoc для получения конкретных требований к сборке.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/linux-requirements.html