Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Building Qt for Linux/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
Qt е много голяма библиотека, има множество модули, конфигурационни опции и избираеми допълнителни възможности. Изправени пред компилирането от изходен код, може да се окаже доста трудна задача да инсталирате зависимостите на Qt, от които се нуждаете, и как да накарате някои от по-скритите му възможности да се включат при компилирането!
Qt е много голяма библиотека, има множество модули, конфигурационни опции и избираеми допълнителни възможности. Изправени пред компилирането от изходен код, може да се окаже доста трудна задача да инсталирате зависимостите на Qt, от които се нуждаете, и как да накарате някои от по-скритите му възможности да се включат при компилирането!


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


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


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


{|
{|
Line 121: Line 121:
|‑egl, ‑opengl es[1|1cl|2]
|‑egl, ‑opengl es[1|1cl|2]
|X
|X
|X<ref>Трябва да подадете &amp;#8209;DMESA_EGL_NO_X11_HEADERS на &quot;configure&amp;quot;, когато компилирате Qt/Embedded. Вероятно това може да се постигне чрез .qmake.cache?
|X<ref>Трябва да подадете &amp;#8209;DMESA_EGL_NO_X11_HEADERS на "configure", когато компилирате Qt/Embedded. Вероятно това може да се постигне чрез .qmake.cache?
</ref>
</ref>
|X
|X
Line 158: Line 158:
|X
|X
|-
|-
|GStreamer<ref>Трябва да подадете &quot;$(pkg&amp;amp;#8209;config gstreamer&amp;amp;#8209;interfaces&amp;amp;#8209;0.10 gstreamer&amp;amp;#8209;video&amp;amp;#8209;0.10 gstreamer&amp;amp;#8209;base&amp;amp;#8209;0.10 &amp;#8209;&amp;#8209;cflags&amp;amp;#8209;only&amp;amp;#8209;I)&quot; на &quot;configure&amp;quot;.
|GStreamer<ref>Трябва да подадете "$(pkg&amp;amp;#8209;config gstreamer&amp;amp;#8209;interfaces&amp;amp;#8209;0.10 gstreamer&amp;amp;#8209;video&amp;amp;#8209;0.10 gstreamer&amp;amp;#8209;base&amp;amp;#8209;0.10 &amp;#8209;&amp;#8209;cflags&amp;amp;#8209;only&amp;amp;#8209;I)" на "configure".
</ref>
</ref>
|Phonon
|Phonon

Revision as of 06:47, 25 February 2015



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