Dedinčan odporúča...

logoBlender je slobodná, otvorená sada pre tvorenie 3D obsahu, dostupná pre všetky hlavné operačné systémy, pod GNU General Public License.

Vybudovanie Lazara s Qt

Kategória: Lazarus
Upravené: streda, 12. november 2008

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:

Pridajte svoj komentár...

    Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
    Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

    Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!