Portál AbcLinuxu, 30. dubna 2025 10:52
Dnes len krátky zápis o kompilácii Qt 5 a Webkitu2 + Makefile súbor, ktorý možno bude fungovať ;)
Potreba pomaly portovať softvér na novšei verzie knižníc ma dohnala k tak strašnému činu akým je ručná kompilácia knižníc. S blížiacou sa alfa verziou prestáva byť Qt 5 pohyblivým cieľom, takže portovaniu starých a vývoju nových aplikácií už nič okrem bugov nestojí v ceste ;)
Pri písaní Makefile som využíval ako zdroj informácií qt-project.org/wiki/Building_Qt_5_from_Git, README súbor z repozitára git://gitorious.org/qt/qt5.git
.PHONY: all reset PATH := $(shell pwd)/qt5-source/qtbase/bin:$(PATH) all: compile # Stiahnutie zdrojových kódov qt5-source: git clone --depth 1 git://gitorious.org/qt/qt5.git qt5-source # Inicializácia submodulov qt5-source/qtbase/src: qt5-source cd qt5-source; perl init-repository # Konfigurácia Qt qt5-source/qtbase/bin/qmake:qt5-source/qtbase/src # Pridanie linku na chýbajúc mkspecs ln -sf $(shell pwd)/qt5-source/qtbase/mkspecs $(shell pwd)/qt5-source/mkspecs # Spustenie configure skriptu - možné selektívne vypnúť niektoré moduly cd qt5-source; PATH="$(PATH)" \ ./configure -prefix $(shell pwd)/qtbase -nomake tests -opensource \ -release -confirm-license -no-phonon-backend -no-sql-mysql -no-sql-psql # Kompilácia submodulov compile: qt5-source/qtbase/bin/qmake cd qt5-source; PATH="$(PATH)" \ ./build -j 3 qtlocation qtwebkit qtpim qtimageformats qtdeclarative \ qlalr qtquick1 qttranslations qtbase qtqa qtscript qtfeedback \ qtwebkit-examples-and-demos qtconnectivity qtxmlpatterns qtsensors \ qtdoc qtmultimedia qtdocgallery qtgraphicaleffects qtsvg qt3d \ qtjsbackend qtphonon qttools qtsystems webkit: qt5-source/qtbase/bin/qmake # Odstránenie -Werror inak by kompilácia padla pri prvom varovaní sed -i 's/[ ]*!contains(QT, declarative): QMAKE_CXXFLAGS += -Werror//g' \ qt5-source/qtwebkit/Tools/qmake/mkspecs/features/unix/default_post.prf cd qt5-source/qtwebkit; PATH="$(PATH)" WEBKITOUTPUTDIR="$(shell pwd)/WebKitBuild" \ perl Tools/Scripts/build-webkit --install-libs=$(shell pwd)/qtbase --release
Pred kompiláciou musia byť nainštalované závislosti. Okrem štandardných ako g++ budeme potrebovať nástroje perl, python a git. Novou závislosťou Qt 5 je knižnica xcb (samozrejme je potrebné nainštalovať aj príslušné *-dev balíky).
Po inštalácií závislosti stačí už len vytvoriť pracovný adresár, umiestniť Makefile a spustiť make.
Webkit2 sa kompiluje samostatne príkazom make webkit. Pri kompilácii vyžaduje bison vo verzii >= 2.5.
Výsledkom kompilácii budú samozrejme knižnice zopár demo programov.
Moje prvé pocity z Qt 5 sú tak trochu zmiešané. Backend xcb ešte nie je celkom odladený a aplikácie často padajú. Pre beh nie je potrebné OpenGL / EGL. Rýchlosť je pri zaťaženom notebooku postačujúca (pri resize okien vidieť pomalšiu odozvu oproti Qt 4). Bez záťaže som nepostrehol žiaden zásadný rozdiel vo výkone oproti Qt 4.
WebKit 2 je oproti staršiemu WebKit-u milým prekvapením. Nemýľte si prosím WebKit 2 s doteraz používaným WebKit-om 2.x. WebKit 2 je totiž forkom WebKit-u s podporou multiprocesového režimu.
Demo prehlaidač ma prekvapil výkonom renderovania. Žiaľ ostatné benchmarky napriek integrácii V8 neboli nijako oslnivé. Pre zvedavcov pridávam odkaz na výsledky testov QtWebkit-u(1111 bodov) a chromia 18 (1651) na tom istom stroji.
Qt 5 samozrejme ešte nie je hotovým produktom, ale už v tomto pre-alfa štádiu začína byť reálne použiteľné.
Tiskni
Sdílej:
Sorry za rýpnutie, ale toto mi nedalo ...
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.