Требования Qt для X11
Зависимости плагина платформы
В Linux используется плагин платформы QPA (Qt Platform Abstraction) xcb. Он предоставляет основные функции, необходимые для Qt GUI и Qt Widgets для работы с X11. Зависимости от его библиотек описаны в следующей таблице. Для построения Qt из исходного кода вам также потребуется установить пакеты разработки для этих библиотек для вашей системы.
Возможно настройка Qt с помощью -qt-xcb, которая компилирует набор библиотек xcb helper вместо попытки связаться с системными версиями. Это может помочь сделать Qt менее зависимым от некоторых библиотек xcb helper, которые могут быть недоступны на всех дистрибутивах. Таблица указывает, какие зависимости предоставляются -qt-xcb.
| Имя | Библиотека | Примечания | Параметры конфигурации | Минимальная рабочая версия |
|---|---|---|---|---|
| XRender | libXrender | Расширение X Rendering; используется для антиалиасинга и поддержки курсора с альфа-каналом |
-xrender или автоопределение |
0.9.0 |
| xcb-render | libxcb-render | X C Связывание для расширения Render | автоопределение или предоставление -qt-xcb | 1.8.1 |
| xcb-render-util | libxcb-render-util | Библиотека утилит для XCB для расширения Render | автоопределение или предоставление -qt-xcb | 0.3.8 |
| xcb-shape | libxcb-shape | X C Связывание для расширения Shape | автоопределение или предоставление -qt-xcb | 1.8.1 |
| xcb-randr | libxcb-randr | X C Связывание для расширения Resize and Rotate | автоопределение или предоставление -qt-xcb | 1.8.1 |
| xcb-xfixes | libxcb-xfixes | X C Связывание для расширения Fixes | автоопределение или предоставление -qt-xcb | 1.8.1 |
| xcb-sync | libxcb-sync | X C Связывание для расширения Sync | автоопределение или предоставление -qt-xcb | 1.8.1 |
| xcb-shm | libxcb-shm | X C Связывание для расширения Shared Memory | автоопределение или предоставление -qt-xcb | 1.8.1 |
| xcb-icccm | libxcb-icccm | X C Связывание для протокола ICCCM | автоопределение или предоставление -qt-xcb | 0.3.9 |
| xcb-keysyms | libxcb-keysyms | Библиотека утилит для XCB для преобразования кодов клавиш | автоопределение или предоставление -qt-xcb | 0.3.9 |
| xcb-image | libxcb-image | Библиотека утилит для XCB для XImage и XShmImage, используемая для QBackingStore и поддержки курсора | автоопределение или предоставление -qt-xcb | 0.3.9 |
| Fontconfig | libfontconfig | Настройка и конфигурация шрифтов |
-fontconfig или автоопределение |
2.6 |
| FreeType | libfreetype | Движок шрифтов | 2.1.3 | |
| Xi | libXi | Расширения ввода X11 |
-xinput или автоопределение |
1.3.0 |
| Xext | libXext | Расширения X | 6.4.3 | |
| X11 | libX11 | Клиентская библиотека X11 | 6.2.1 | |
| xcb | libxcb | Библиотека X C Binding | 1.8.1 | |
| 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
- libxext-dev
- libxfixes-dev
- libxi-dev
- libxrender-dev
- libxcb1-dev
- libx11-xcb-dev
- libxcb-glx0-dev
Кроме того, если вы не настраиваете с -qt-xcb, вам также следует установить эти пакеты разработки:
- 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 на вашей системе, и если да, включит модуль Qt OpenGL в библиотеку Qt.
Если ваши заголовки или библиотеки OpenGL расположены в нестандартном каталоге, вам может потребоваться изменить QMAKE_INCDIR_OPENGL и/или QMAKE_LIBDIR_OPENGL в файле конфигурации вашей системы.
Документация QGL предполагает, что вы знакомы с программированием OpenGL. Если вы новичок в этой области, хорошим началом будет http://www.opengl.org/.
Зависимости мультимедиа
Как описано в обзоре Мультимедиа, 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 или libgstreamer в репозитории пакетов вашего дистрибутива, чтобы найти подходящие пакеты.
Зависимости Qt WebEngine
Qt WebEngine имеет дополнительные требования к сборке, которые перечислены в Заметках платформы Qt WebEngine.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/linux-requirements.html