Building Qt for Linux/ru
Эта страница на: Русском English Português Spanish
Сборка Qt в Linux
Qt очень большой фреймворк, он включает множество модулей, конфигурационных параметров и дополнительный возможностей.
Это может быть проблемой, когда вы собираете его из исходного кода. Как найти и установить все требуемые зависимости? Как включить неизведанные возможности в билд?
Ниже приводиться полный список пакетов зависмостей для все версий Qt между 4.5 и мастер-веткой по состоянию на декабрь 2010. В настоящий момент имена пакетов описаны только для Ubuntu, но для большинства дистрибутивов они будут совпадать.
Колонка "Модуль" отображает самый низкоуровневый модуль, который использует данную функцию (то есть, если QtCore использует эту функцию, то QtGui не будет перечислен). Нескольно модулей указываются только если они не являются взаимозависимыми.
Зависимость | Модуль | Параметр | Qt/X11? | Qt/Embedded? | Qt 4.5 | Qt 4.6 | Qt 4.7 | Qt 4.8 (trunk) |
---|---|---|---|---|---|---|---|---|
ZLib | QtCore | ‑[qt|system]‑zlib | X | X | X | X | X | X |
JPEG | QtCore | ‑[qt|system]‑libjpeg | X | X | X | X | X | X |
TIFF | QtCore | ‑[qt|system]‑libtiff | X | X | X | X | X | X |
MNG | QtCore | ‑[qt|system]‑libmng | X | X | X | X | X | X |
PNG | QtCore | ‑[qt|system]‑libpng | X | X | X | X | X | X |
OpenGL | QtOpenGL | ‑opengl | X | X | X | X | X | |
OpenGL ES 1 | QtOpenGL | ‑opengl es1 | X | X | X[1] | X | X | X |
OpenGL ES 1 CL | QtOpenGL | ‑opengl es1cl | X | X | X[2] | X | X | X |
OpenGL ES 2 | QtOpenGL | ‑opengl es2 | X | X | X[3] | X | X | X |
EGL | QtOpenGL | ‑egl, ‑opengl es[1|1cl|2] | X | X[4] | X | X | X | X |
OpenVG | QtOpenVG | ‑openvg | X | X | X | X | X | |
ShivaVG | QtOpenVG | ‑openvg | X | X | X | X | X | |
DirectFB | QtGui | ‑[qt|plugin]‑gfx‑directfb | X | X | X | X | X | |
GStreamer[5] | Phonon | ‑phonon | X | X | X | X | X | X |
PulseAudio | Phonon | ‑phonon‑backend | X | X | X | X | X | |
ALSA | QtMultimedia | ‑multimedia | X | X | X | X | X | |
NAS Sound | QtGui | ‑system‑nas‑sound | X | X | X | X | X | |
FreeType | QtGui | ‑freetype | X | X | X | X | X | X |
FontConfig | QtGui | ‑fontconfig | X | X | X | X | X | |
tslib | QtGui | ‑[qt|plugin]‑mouse‑tslib | X | X | X | X | X | |
Cups | QtGui | ‑cups | X | X | X | X | X | X |
D‑Bus | QtDBus | ‑dbus[‑linked] | X | X | X | X | X | X |
ICD | QtNetwork | ‑icd | X | X | X | X | ||
GLib | QtCore | ‑glib | X | X | X | X | X | X |
GTK | QtGui | ‑gtkstyle | X | X | X | X | X | |
X11 | QtGui | none | X | X | X | X | X | |
XShape | QtGui | ‑xshape | X | X | X | X | X | |
XCursor | QtGui | ‑xcursor | X | X | X | X | X | |
XFixes | QtGui | ‑xfixes | X | X | X | X | X | |
XRandr | QtGui | ‑xrandr | X | X | X | X | X | |
XRender | QtGui, QtWebKit | ‑xrender | X | X | X | X | X | |
XVideo | Phonon, QtMultimedia | ‑xvideo | X | X | X | X | X | |
Xinerama | QtGui | ‑xinerama | X | X | X | X | X | |
XInput | QtGui | ‑xinput | X | X | X | X | X | |
Session management | QtGui | ‑sm | X | X | X | X | X | |
OpenSSL | QtNetwork, QtWebKit | ‑openssl[‑linked] | X | X | X | X | X | X |
Interbase | QtSql | ‑[qt|plugin]‑sql‑ibase | X | X | X | X | X | X |
MySQL | QtSql | ‑[qt|plugin]‑sql‑mysql | X | X | X | X | X | X |
ODBC[6] | QtSql | ‑[qt|plugin]‑sql‑odbc | X | X | X | X | X | X |
PostgreSQL | QtSql | ‑[qt|plugin]‑sql‑psql | X | X | X | X | X | X |
SQLite 2 | QtSql | ‑[qt|plugin]‑sql‑sqlite2 | X | X | X | X | X | X |
SQLite 3 | QtSql | ‑[qt|plugin]‑sql‑sqlite | X | X | X | X | X | X |
TDS | QtSql | ‑[qt|plugin]‑sql‑tds | X | X | X | X | X | X |
Зависимость | Ubuntu Lucid | Ubuntu Maverick |
---|---|---|
ZLib | zlib1g‑dev | zlib1g‑dev |
JPEG | libjpeg62‑dev | libjpeg62‑dev |
TIFF | libtiff4‑dev | libtiff4‑dev |
MNG | libmng‑dev | libmng‑dev |
PNG | libpng12‑dev | libpng12‑dev |
OpenGL | mesa‑common‑dev, libglu1‑mesa‑dev | mesa‑common‑dev, libglu1‑mesa‑dev |
OpenGL ES 1 | none | libgles1‑mesa‑dev[7] |
OpenGL ES 1 CL | none | libgles1‑mesa‑dev |
OpenGL ES 2 | none | libgles2‑mesa‑dev |
EGL | none | libgles2‑mesa‑dev or libegl1‑mesa‑dev |
OpenVG | none | libopenvg1‑mesa‑dev |
ShivaVG | none | none |
DirectFB | libdirectfb‑dev | libdirectfb‑dev |
GStreamer | libgstreamer0.10‑dev, libgstreamer‑plugins‑base0.10‑dev | libgstreamer0.10‑dev, libgstreamer‑plugins‑base0.10‑dev |
PulseAudio | libpulse‑dev | libpulse‑dev |
NAS Sound | libaudio‑dev | libaudio‑dev |
ALSA | libasound2‑dev | libasound2‑dev |
FreeType | libfreetype6‑dev | libfreetype6‑dev |
FontConfig | libfontconfig1‑dev | libfontconfig1‑dev |
tslib | libts‑dev | libts‑dev |
Cups | libcups2‑dev | libcups2‑dev |
D‑Bus | libdbus‑1‑dev | libdbus‑1‑dev |
ICD | none | none |
GLib | libglib2.0‑dev | libglib2.0‑dev |
GTK | libgtk2.0‑dev | libgtk2.0‑dev |
X11 | libx11‑dev, libxext‑dev | libx11‑dev, libxext‑dev |
XCursor | libxcursor‑dev | libxcursor‑dev |
XFixes | libxfixes‑dev | libxfixes‑dev |
XRandr | libxrandr‑dev | libxrandr‑dev |
XRender | libxrender‑dev | libxrender‑dev |
XVideo | libxv‑dev | libxv‑dev |
Xinerama | libxinerama‑dev | libxinerama‑dev |
XInput | libxi‑dev | libxi‑dev |
Session management | libsm‑dev | libsm‑dev |
OpenSSL | libssl‑dev | libssl‑dev |
Interbase | firebird2.1‑dev | firebird2.5‑dev or firebird2.1‑dev |
MySQL | libmysqlclient‑dev | libmysqlclient‑dev |
ODBC | unixodbc‑dev or libiodbc2‑dev[8] | unixodbc‑dev or libiodbc2‑dev[9] |
PostgreSQL | libpq‑dev | libpq‑dev |
SQLite 2 | libsqlite0‑dev | libsqlite0‑dev |
SQLite 3 | libsqlite3‑dev | libsqlite3‑dev |
TDS | freetds‑dev[6] | freetds‑dev[6] |
- ↑ Несмотря на то что это поддерживается, я не смог собрать с этой опцией в Qt 4.5.
- ↑ Несмотря на то что это поддерживается, я не смог собрать с этой опцией в Qt 4.5.
- ↑ Несмотря на то что это поддерживается, я не смог собрать с этой опцией в Qt 4.5.
- ↑ Необходимо добавить ‑DMESA_EGL_NO_X11_HEADERS в "configure" для сборки Qt/Embedded. Возможно это можно сделать с помощью .qmake.cache?
- ↑ Необходимо добавить "$(pkg‑config gstreamer‑interfaces‑0.10 gstreamer‑video‑0.10 gstreamer‑base‑0.10 ‑‑cflags‑only‑I)" в "configure".
- ↑ Это также требует libGLES_CM.so.
- ↑ Это также требует libGLES_CM.so.
- ↑ Использование libiodbc2 вместо unixodbc поддерживается начиная с Qt 4.6.
- ↑ Использование libiodbc2 вместо unixodbc поддерживается начиная с Qt 4.6.