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.
Build Qt For Linux: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Developing with Qt::General]] | [[Category:Developing with Qt::General]] | ||
[[Category:HowTo]] | |||
[[Category:Instructions]] | |||
'''English''' [[Build_Qt_For_Linux_Portuguese|Português]] [[Build_Qt_For_Linux_Russian|Русский]] [[Build_Qt_For_Linux_Japanese|日本語]] [[Build_Qt_For_Linux_Spanish|Spanish]] [[Build_Qt_For_Linux_Bulgarian|Български]] | '''English''' [[Build_Qt_For_Linux_Portuguese|Português]] [[Build_Qt_For_Linux_Russian|Русский]] [[Build_Qt_For_Linux_Japanese|日本語]] [[Build_Qt_For_Linux_Spanish|Spanish]] [[Build_Qt_For_Linux_Bulgarian|Български]] | ||
Line 7: | Line 9: | ||
Qt is a very large framework, and it has many modules, configuration switches, and optional features. Faced with building it from source, it can be a challenge to figure out how to install the dependencies you need, and how to get some of the more obscure features to build! | Qt is a very large framework, and it has many modules, configuration switches, and optional features. Faced with building it from source, it can be a challenge to figure out how to install the dependencies you need, and how to get some of the more obscure features to build! | ||
The features that you can consider as a | The features that you can consider as a "standard minimum configuration" on Linux are: ZLib, JPEG, TIFF, MNG, PNG, OpenGL, GStreamer, ALSA, FreeType, FontConfig, CUPS, D-Bus, X*, OpenSSL, and SQLite. | ||
Following is a comprehensive list of package names for the dependencies for all versions of Qt between 4.5 and trunk as of December 2010. Presently only Ubuntu package names have been included, but more distros should follow as the package names are figured out. | Following is a comprehensive list of package names for the dependencies for all versions of Qt between 4.5 and trunk as of December 2010. Presently only Ubuntu package names have been included, but more distros should follow as the package names are figured out. | ||
The | The "Module" column indicates the lowest-level module which uses the feature (i.e., if QtCore uses the feature, QtGui will not be listed). Multiple modules are only listed if they are not interdependent. | ||
{| | {| | ||
Line 121: | Line 123: | ||
|‑egl, ‑opengl es[1|1cl|2] | |‑egl, ‑opengl es[1|1cl|2] | ||
|X | |X | ||
|X<ref>Need to pass &#8209;DMESA_EGL_NO_X11_HEADERS to | |X<ref>Need to pass &#8209;DMESA_EGL_NO_X11_HEADERS to "configure" when building Qt/Embedded. Possibly this could be done via .qmake.cache? | ||
</ref> | </ref> | ||
|X | |X | ||
Line 158: | Line 160: | ||
|X | |X | ||
|- | |- | ||
|GStreamer<ref>Need to pass | |GStreamer<ref>Need to pass "$(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)" to "configure". | ||
</ref> | </ref> | ||
|Phonon | |Phonon |
Revision as of 08:59, 25 February 2015
English Português Русский 日本語 Spanish Български
Build Qt for Linux
Qt is a very large framework, and it has many modules, configuration switches, and optional features. Faced with building it from source, it can be a challenge to figure out how to install the dependencies you need, and how to get some of the more obscure features to build!
The features that you can consider as a "standard minimum configuration" on Linux are: ZLib, JPEG, TIFF, MNG, PNG, OpenGL, GStreamer, ALSA, FreeType, FontConfig, CUPS, D-Bus, X*, OpenSSL, and SQLite.
Following is a comprehensive list of package names for the dependencies for all versions of Qt between 4.5 and trunk as of December 2010. Presently only Ubuntu package names have been included, but more distros should follow as the package names are figured out.
The "Module" column indicates the lowest-level module which uses the feature (i.e., if QtCore uses the feature, QtGui will not be listed). Multiple modules are only listed if they are not interdependent.
Dependency | Module | Configure switch | Qt/X11? | Qt/Embedded? | Qt 4.5 | Qt 4.6 | Qt 4.7 | Qt 4.8 (trunk) |
---|---|---|---|---|---|---|---|---|
ZLib | QtCore | ‑[qt&#124;system]‑zlib | X | X | X | X | X | X |
JPEG | QtCore | ‑[qt&#124;system]‑libjpeg | X | X | X | X | X | X |
TIFF | QtCore | ‑[qt&#124;system]‑libtiff | X | X | X | X | X | X |
MNG | QtCore | ‑[qt&#124;system]‑libmng | X | X | X | X | X | X |
PNG | QtCore | ‑[qt&#124;system]‑libpng | X | X | X | X | X | X |
OpenGL | QtOpenGL | ‑opengl | X | X | X | X | X | |
OpenGL ES 1 | QtOpenGL | ‑opengl&nbsp;es1 | X | X | X[1] | X | X | X |
OpenGL ES 1 CL | QtOpenGL | ‑opengl&nbsp;es1cl | X | X | X[2] | X | X | X |
OpenGL ES 2 | QtOpenGL | ‑opengl&nbsp;es2 | X | X | X[3] | X | X | X |
EGL | QtOpenGL | ‑egl, ‑opengl&nbsp;es[1&#124;1cl&#124;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&#124;plugin]‑gfx&#8209;directfb | X | X | X | X | X | |
GStreamer[5] | Phonon | ‑phonon | X | X | X | X | X | X |
PulseAudio | Phonon | ‑phonon&#8209;backend | X | X | X | X | X | |
ALSA | QtMultimedia | ‑multimedia | X | X | X | X | X | |
NAS Sound | QtGui | ‑system&#8209;nas&#8209;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&#124;plugin]‑mouse&#8209;tslib | X | X | X | X | X | |
Cups | QtGui | ‑cups | X | X | X | X | X | X |
D&#8209;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&#124;plugin]‑sql&#8209;ibase | X | X | X | X | X | X |
MySQL | QtSql | ‑[qt&#124;plugin]‑sql&#8209;mysql | X | X | X | X | X | X |
ODBC | QtSql | ‑[qt&#124;plugin]‑sql&#8209;odbc | X | X | X | X | X | X |
PostgreSQL | QtSql | ‑[qt&#124;plugin]‑sql&#8209;psql | X | X | X | X | X | X |
SQLite 2 | QtSql | ‑[qt&#124;plugin]‑sql&#8209;sqlite2 | X | X | X | X | X | X |
SQLite 3 | QtSql | ‑[qt&#124;plugin]‑sql&#8209;sqlite | X | X | X | X | X | X |
TDS | QtSql | ‑[qt&#124;plugin]‑sql&#8209;tds | X | X | X | X | X | X |
Dependency | Ubuntu Lucid | Ubuntu Maverick |
---|---|---|
ZLib | zlib1g&#8209;dev | zlib1g&#8209;dev |
JPEG | libjpeg62&#8209;dev | libjpeg62&#8209;dev |
TIFF | libtiff4&#8209;dev | libtiff4&#8209;dev |
MNG | libmng&#8209;dev | libmng&#8209;dev |
PNG | libpng12&#8209;dev | libpng12&#8209;dev |
OpenGL | mesa&#8209;common&#8209;dev, libglu1&#8209;mesa&#8209;dev | mesa&#8209;common&#8209;dev, libglu1&#8209;mesa&#8209;dev |
OpenGL ES 1 | none | libgles1&#8209;mesa&#8209;dev[6] |
OpenGL ES 1 CL | none | libgles1&#8209;mesa&#8209;dev |
OpenGL ES 2 | none | libgles2&#8209;mesa&#8209;dev |
EGL | none | libgles2&#8209;mesa&#8209;dev or libegl1&#8209;mesa&#8209;dev |
OpenVG | none | libopenvg1&#8209;mesa&#8209;dev |
ShivaVG | none | none |
DirectFB | libdirectfb&#8209;dev | libdirectfb&#8209;dev |
GStreamer | libgstreamer0.10&#8209;dev, libgstreamer&#8209;plugins&#8209;base0.10&#8209;dev | libgstreamer0.10&#8209;dev, libgstreamer&#8209;plugins&#8209;base0.10&#8209;dev |
PulseAudio | libpulse&#8209;dev | libpulse&#8209;dev |
NAS Sound | libaudio&#8209;dev | libaudio&#8209;dev |
ALSA | libasound2&#8209;dev | libasound2&#8209;dev |
FreeType | libfreetype6&#8209;dev | libfreetype6&#8209;dev |
FontConfig | libfontconfig1&#8209;dev | libfontconfig1&#8209;dev |
tslib | libts&#8209;dev | libts&#8209;dev |
Cups | libcups2&#8209;dev | libcups2&#8209;dev |
D&#8209;Bus | libdbus&#8209;1&#8209;dev | libdbus&#8209;1&#8209;dev |
ICD | none | none |
GLib | libglib2.0&#8209;dev | libglib2.0&#8209;dev |
GTK | libgtk2.0&#8209;dev | libgtk2.0&#8209;dev |
X11 | libx11&#8209;dev, libxext&#8209;dev | libx11&#8209;dev, libxext&#8209;dev |
XCursor | libxcursor&#8209;dev | libxcursor&#8209;dev |
XFixes | libxfixes&#8209;dev | libxfixes&#8209;dev |
XRandr | libxrandr&#8209;dev | libxrandr&#8209;dev |
XRender | libxrender&#8209;dev | libxrender&#8209;dev |
XVideo | libxv&#8209;dev | libxv&#8209;dev |
Xinerama | libxinerama&#8209;dev | libxinerama&#8209;dev |
XInput | libxi&#8209;dev | libxi&#8209;dev |
Session management | libsm&#8209;dev | libsm&#8209;dev |
OpenSSL | libssl&#8209;dev | libssl&#8209;dev |
Interbase | firebird2.1&#8209;dev | firebird2.5&#8209;dev or firebird2.1&#8209;dev |
MySQL | libmysqlclient&#8209;dev | libmysqlclient&#8209;dev |
ODBC | unixodbc&#8209;dev or libiodbc2&#8209;dev[7] | unixodbc&#8209;dev or libiodbc2&#8209;dev[8] |
PostgreSQL | libpq&#8209;dev | libpq&#8209;dev |
SQLite 2 | libsqlite0&#8209;dev | libsqlite0&#8209;dev |
SQLite 3 | libsqlite3&#8209;dev | libsqlite3&#8209;dev |
TDS | freetds&#8209;dev[6] | freetds&#8209;dev[6] |
- ↑ Though supported, I have not been able to figure out how to buid this option in Qt 4.5.
- ↑ Though supported, I have not been able to figure out how to buid this option in Qt 4.5.
- ↑ Though supported, I have not been able to figure out how to buid this option in Qt 4.5.
- ↑ Need to pass ‑DMESA_EGL_NO_X11_HEADERS to "configure" when building Qt/Embedded. Possibly this could be done via .qmake.cache?
- ↑ Need to pass "$(pkg&#8209;config gstreamer&#8209;interfaces&#8209;0.10 gstreamer&#8209;video&#8209;0.10 gstreamer&#8209;base&#8209;0.10 ‑‑cflags&#8209;only&#8209;I)" to "configure".
- ↑ This also requires a provider of libGLES_CM.so.
- ↑ Using libiodbc2 instead of unixodbc is supported starting in Qt 4.6.
- ↑ Using libiodbc2 instead of unixodbc is supported starting in Qt 4.6.