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:

  • rychla a jednoducha instalacia
  • garantovana funkcnost a stabilita

Nevyhody pouzitia Qt z balicka su hlavne:

  • v balickoch su starsie verzie Qt (hlavne ak pouzivame starsie LTS Ubuntu)
  • takato Qt neobsahuje vsetky moduly - niekedy je potrebne najst a stiahnut balicek s modulom (napr. qtpositioning5-dev, libqt5websockets5-dev)
  • Qt sa nainstaluje priamo do systemu, takuto Qt len z tazkostami prenesieme na iny PC

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:

  • treba stiahnut ziadanu verziu zdrojakov Qt z oficialnych stranok (nieco ako qt-everywhere-src-5.12.1.tar.xz)
  • poinstalovat vsetky potrebne dependencies
  • nakonfigurovat instalaciu skriptom “configure”
# 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.

  • vykompilovat pomocou “make”
make -j6
  • nainstalovat na zvolene cesty pomocou “make install”
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
 
howto/compilation_qt.txt · Last modified: 2019/02/15 10:33 by 192.168.242.188
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki