Building Qt for Linux/bg

From Qt Wiki
Revision as of 06:47, 25 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search



Български English Português Русский 日本語 Spanish

Компилиране на Qt за Linux

Qt е много голяма библиотека, има множество модули, конфигурационни опции и избираеми допълнителни възможности. Изправени пред компилирането от изходен код, може да се окаже доста трудна задача да инсталирате зависимостите на Qt, от които се нуждаете, и как да накарате някои от по-скритите му възможности да се включат при компилирането!

Пакетите, които можете да считате като "стандартни минимални изисквания" под Linux са: ZLib, JPEG, TIFF, MNG, PNG, OpenGL, GStreamer, ALSA, FreeType, FontConfig, CUPS, D-Bus, X*, OpenSSL и SQLite.

Следва подробен списък с имената на пакетите на зависимостите за всички версии на Qt между 4.5 и 4.8 В момента само имената на пакетите от Ubuntu са включени.

Колоната "Модул" показва модула от най-ниско ниво, който използва зависимостта (примерно, ако QtCore я използва, тя няма да бъде включена в списъка за QtGui). Множество модули са изброени, само ако те са независими.

Зависимост Модул Опция за включване Qt/X11? Qt/Embedded? Qt 4.5 Qt 4.6 Qt 4.7 Qt 4.8
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 няма 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 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 няма libgles1‑mesa‑dev[6]
OpenGL ES 1 CL няма libgles1‑mesa‑dev
OpenGL ES 2 няма libgles2‑mesa‑dev
EGL няма libgles2‑mesa‑dev or libegl1‑mesa‑dev
OpenVG няма libopenvg1‑mesa‑dev
ShivaVG няма няма
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 няма няма
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[7] unixodbc‑dev or libiodbc2‑dev[8]
PostgreSQL libpq‑dev libpq‑dev
SQLite 2 libsqlite0‑dev libsqlite0‑dev
SQLite 3 libsqlite3‑dev libsqlite3‑dev
TDS freetds‑dev[6] freetds‑dev[6]
  1. Въпреки, че се поддържат, не успях да компилирам с тази опция в Qt 4.5.
  2. Въпреки, че се поддържат, не успях да компилирам с тази опция в Qt 4.5.
  3. Въпреки, че се поддържат, не успях да компилирам с тази опция в Qt 4.5.
  4. Трябва да подадете ‑DMESA_EGL_NO_X11_HEADERS на "configure", когато компилирате Qt/Embedded. Вероятно това може да се постигне чрез .qmake.cache?
  5. Трябва да подадете "$(pkg‑config gstreamer‑interfaces‑0.10 gstreamer‑video‑0.10 gstreamer‑base‑0.10 ‑‑cflags‑only‑I)" на "configure".
  6. Това също изисква пакет, който предоставя libGLES_CM.so.
  7. Използването на libiodbc2 вместо unixodbc се поддържа от Qt 4.6.
  8. Използването на libiodbc2 вместо unixodbc се поддържа от Qt 4.6.