Vybudovanie Lazara s Qt
Lazarus poskytuje aj rozhranie pre knižnice Qt, ktoré je multiplatformným aplikačným frameworkom, východzím pre KDE. Ak však prosto zvolíte prekompilovanie Lazara pre rozhranie Qt, asi jeho preklad skončí chybou. Ale nič nie je nemožné a ak chcete mať v Debiane Lazara s Qt rozhraním, čítajte...
Preklad v príkazovom riadku
Podľa dokumentácie pracuje Lazarus s verziou Qt 4.3. V ďalšom popise však ukážem ako ho preložiť s Qt 4.4. Najprv však ukážem s akou chybou skončí preklad, ak nemáte prostredie pripravené pre tento krok. Vybudovanie Lazara je možné v zásade dvoma spôsobmi. Môžete ho vybudovať z príkazového riadku alebo prostredníctvom grafického rozhrania priamo v Lazare. Pre vybudovanie z príkazového riadku je potrebné nájsť adresár s inštaláciou Lazara, ak ste si ho nainštalovali z inštalačného balíčka, mal by to byť adresár /usr/lib/lazarus/. Ale pre istotu pozrite, kam ukazuje symbolický odkaz /usr/bin/startlazarus. Ak ste si Lazara kompilovali sami, tak iste viete, kde ho máte nainštalovaný. Takže vstúpte do adresára Lazara:
cd /usr/lib/lazarus/
a v tomto adresári spusťte vybudovanie pomocou make:
make clean all LCL_PLATFORM=qt
Čo znamenajú jednotlivé parametre? Vývojári Lazara pripravili Makefile s pravidlami pre clean, ktoré vyčistí (vymaže) binárne súbory z predchádzajúcej kompilácie, parameter all zase vraví vybudovať všetko. No a posledný prameter nastavuje rozhranie Qt. Ale naspäť k prekladu. Ak spustíte tento príkaz a kompilácia skončí takouto chybou:
/usr/bin/ld: cannot find -lqt4intf /usr/share/lazarus/examples/hello.pp(31,1) Error: Error while linking /usr/share/lazarus/examples/hello.pp(31,1) Fatal: There were 1 errors compiling module, stopping
znamená to, že potrebujete do systému doplniť jednu knižnicu.Takže prejdite na jej oficiálnu stránku a stiahnite si binárnu verziu knižnice podľa svojej architektúry (32/64 bitovú). Stiahnutý archív rozbaľte a nájdite v ňom súbor libqt4intf.so, ktorý treba prekopírovať do adresára s knižnicami. Mal by to byť adresár /usr/lib/ alebo /usr/local/lib. Ak si chcete byť úplne istý, pozrite si obsah konfiguračného súboru /etc/ld.so.conf, prípadne súborov v adresári /etc/ld.so.conf.d/, kde sú vypísané práve tie správne adresáre. Po prekopírovaní je ešte treba regenorovať vyrovnávaciu pamät knižníc:
ldconfig
pre istotu môžete skontrolovať obsah cache, či systém našu knižnicu naozaj našiel:
ldconfig -p | grep libqt4intf
libqt4intf.so (libc6,x86-64) => /usr/local/lib/libqt4intf.so
Ak teda dostanete nejaký výstup, môžme sa pustiť do kompilácie znova, ak aj tentokrát skončí preklad chybou:
Linking ../lazarus /usr/share/lazarus/lcl/units/x86_64-linux/qt/qtwidgets.o: In function 'GETFILTERS': /usr/share/lazarus/lcl/interfaces/qt//qtwidgets.pas:9169: undefined reference to 'QFileDialog_filters' lazarus.pp(122,1) Error: Error while linking lazarus.pp(122,1) Fatal: There were 1 errors compiling module, stopping Fatal: Compilation aborted make[2]: *** [lazarus] Error 1 make[2]: Leaving directory '/usr/share/lazarus/ide' make[1]: *** [ide] Error 2 make[1]: Leaving directory '/usr/share/lazarus/ide' make: *** [ide] Error 2
Tentorazje chyba spôsobená tým, že Lazarus predvolene očakáva knižnicu verzie 4.3, ale na stiahnutie je knižnica 4.4, takže stačí poslať konfiguračnú voľbu OPT="-dUSE_QT_44" takto:
make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_44"{/code}
A môžete si spustiť svoj Lazarus s nový m vzhľadom.
Preklad v grafickom rozhraní
Toto všetko samozrejme možno urobiť aj priamo v Lazarovi. Stačí použiť menu Nástroje -> Konfigurovať vybudovanie Lazarus, ktorý otvorí dialógové okno s dvoma záložkami. Na prvej si zvoľte Vyčistiť + Vybudovať všetko a rozhranie LCL pre IDE a na druhej záložke možno pridať vyššie spomínanú voľbu, tak ako to je vidno an obrázkoch:
Výsledok
Bez dlhých rečí, takto vyzerá Lazarus v prostredí Qt:

