Table of Contents

Kompilacia QT

Pouzitie QT zo systemovych balickov

Hotovu a funkcnu QT mozeme v ubuntu stiahnut pomocou balickoveho managera, resp. cez apt. Pre Qt5 sa jedna o balicek qt5-default, pre Qt4 sa jedna o balicek qt4-default.

Vyhody pouzitia Qt z balicka su hlavne:

Nevyhody pouzitia Qt z balicka su hlavne:

Instalacia z Qt instalatorov

Qtcku je mozne nainstalovat pomocou instalatorov dostupnych na oficialnych strankach Qt. Pre starsie verzie Qt (<5.6) su zvycajne dostupne offline balicky pre linux 32bit aj 64bit. Pre novsie verzie sa avsak balicek pre 32bit linux nevyraba, v takomto pripade je potrebne pouzit iny sposob instalacie.

Vykompilovanie Qt zo zdrojakov

Tato cesta nam ponuka najviac moznosti, no zaroven si treba dat pozor na par zaludnosti.

Postup je nasledovny:

# priecinok, do ktoreho sa Qt nainstaluje (priecinok nebude obsahovat zdrojaky) urcime pomocou "prefix"
# pouzivame opensource verziu
# confirm-license nebude vyzadovat potvrdenie licencie klavesou
./configure -prefix /opt/Qt/Qt5.12.1 -opensource -confirm-license

Ak configure vyhodi nejake chyby, zvycajne sa jedna o chybajucu dependency - treba doinstalovat spravny balik.

make -j6
make install

Ak vsetko prebehne uspesne, hotova Qt bude nainstalovana na ceste specifikovanej pomocou “prefix”.

Prestahovanie Qt (pouzitie qt.conf)

Kazda vykompilovana Qt ma nastavene cesty k jednotlivym castiam ako Headers, Libraries, Includes, … . Tieto cesty mozeme overit prikazom:

$ ./qmake -query
QT_SYSROOT:
QT_INSTALL_PREFIX:/opt/Qt/Qt5.10.1
QT_INSTALL_ARCHDATA:/opt/Qt/Qt5.10.1
QT_INSTALL_DATA:/opt/Qt/Qt5.10.1
QT_INSTALL_DOCS:/opt/Qt/Qt5.10.1/doc
QT_INSTALL_HEADERS:/opt/Qt/Qt5.10.1/include
QT_INSTALL_LIBS:/opt/Qt/Qt5.10.1/lib
QT_INSTALL_LIBEXECS:/opt/Qt/Qt5.10.1/libexec
QT_INSTALL_BINS:/opt/Qt/Qt5.10.1/bin
QT_INSTALL_TESTS:/opt/Qt/Qt5.10.1/tests
QT_INSTALL_PLUGINS:/opt/Qt/Qt5.10.1/plugins
QT_INSTALL_IMPORTS:/opt/Qt/Qt5.10.1/imports
QT_INSTALL_QML:/opt/Qt/Qt5.10.1/qml
QT_INSTALL_TRANSLATIONS:/opt/Qt/Qt5.10.1/translations
QT_INSTALL_CONFIGURATION:/opt/Qt/Qt5.10.1/etc/xdg
QT_INSTALL_EXAMPLES:/opt/Qt/Qt5.10.1/examples
QT_INSTALL_DEMOS:/opt/Qt/Qt5.10.1/examples
QT_HOST_PREFIX:/opt/Qt/Qt5.10.1
QT_HOST_DATA:/opt/Qt/Qt5.10.1
QT_HOST_BINS:/opt/Qt/Qt5.10.1/bin
QT_HOST_LIBS:/opt/Qt/Qt5.10.1/lib
QMAKE_SPEC:linux-g++
QMAKE_XSPEC:linux-g++
QMAKE_VERSION:3.1
QT_VERSION:5.10.1

Cesty mozeme taktiez vidiet v QtCreatore:

Pokial chceme uz existujucu instalaciu Qt presunut na iny PC / presunut na inu cestu v suborovom systeme, je potrebne tieto cesty overridovat. Toto sa da realizovat vytvorenim suboru qt.conf na urovni binarky qmake.

Priklad qt.conf - Qt pre mikro_cortexa8

Qt vo virtualnom prostredi mikroelektroniky mala nastavene cesty pre cross-kompilaciu do priecinku /clfs. Nasim cielom bolo nasmerovat tieto cesty do nasho toolchainu - na urovni binarky qmake sme preto vytvorili nasledovny qt.conf:

[Paths]
Prefix = /opt/qt5
Headers = /opt/qt5/include/qt
Libraries = /opt/qt5/lib
ArchData = /opt/qt5/lib/qt
Data = /opt/qt5/share/qt
Binaries = /opt/qt5/bin
LibraryExecutables = /opt/qt5/lib/qt
Plugins = /opt/qt5/lib/qt/plugins
Imports = /opt/qt5/lib/qt/imports
Qml2Imports = /opt/qt5/lib/qt/qml
Translations = /opt/qt5/share/qt
Documentation = /opt/qt5/share/doc/qt
Settings = /opt/qt5/etc/xdg
Examples = /opt/qt5/examples
Tests = /opt/qt5/tests
HostPrefix = /usr/toolchain/mikro_cortexa8/cross-tools
HostData = /usr/toolchain/mikro_cortexa8/cross-tools
HostBinaries = /usr/toolchain/mikro_cortexa8/cross-tools/bin
HostLibraries = /usr/toolchain/mikro_cortexa8/cross-tools/lib
Sysroot = /usr/toolchain/mikro_cortexa8/arm-linux-musleabihf