Verëffentlechung vun Qbs 1.21 bauen Handwierksgeschir an Ufank vun Qt 6.3 Testen

D'Qbs 1.21 Build Tools Verëffentlechung gouf ugekënnegt. Dëst ass déi aachte Verëffentlechung zënter der Qt Company d'Entwécklung vum Projet verlooss huet, virbereet vun der Gemeinschaft déi interesséiert ass fir d'Entwécklung vu Qbs weiderzemaachen. Fir Qbs ze bauen, ass Qt ënnert den Ofhängegkeeten erfuerderlech, obwuel Qbs selwer entwéckelt ass fir d'Versammlung vun all Projeten z'organiséieren. Qbs benotzt eng vereinfacht Versioun vun der QML Sprooch fir e definéieren Projet bauen Scripten, déi erlaabt Iech zimlech flexibel baut Regelen ze definéieren, datt extern Moduler Verbindung kann, benotzen JavaScript Funktiounen, a schafen Mooss baut Regelen.

D'Skriptsprooch, déi an Qbs benotzt gëtt, ass adaptéiert fir d'Generatioun an d'Parsing vu Build Scripten duerch integréiert Entwécklungsëmfeld ze automatiséieren. Zousätzlech generéiert Qbs keng Makefiles, awer selwer, ouni Intermédiairen wéi de Make Utility, kontrolléiert d'Start vun Compilers a Linker, optiméiert de Bauprozess baséiert op enger detailléierter Grafik vun all Ofhängegkeeten. D'Präsenz vun initialen Donnéeën iwwer d'Struktur an d'Ofhängegkeeten am Projet erlaabt Iech effektiv d'Ausféierung vun Operatiounen an e puer thread ze paralleliséieren. Fir grouss Projeten, déi aus enger grousser Zuel vu Fichieren an subdirectories besteet, kann d'Performance vun Rekonstruktioun Qbs e puer mol méi séier wéi maachen - d'Rekonstruktioun gëtt bal direkt gemaach an zwéngt den Entwéckler net Zäit ze waarden.

Loosst eis drun erënneren datt am 2018 d'Qt Company decidéiert huet Qbs z'entwéckelen. Qbs gouf als Ersatz fir qmake entwéckelt, awer schlussendlech gouf decidéiert CMake als Haaptbausystem fir Qt op laang Siicht ze benotzen. Entwécklung vun Qbs huet elo als onofhängege Projet vun der Communautéit an interesséiert Entwéckler ënnerstëtzt. D'Qt Company Infrastruktur weider fir Entwécklung benotzt ginn.

Schlëssel Innovatiounen am Qbs 1.21:

  • De Mechanismus vun Modul Ubidder (Modul Generatoren) gouf nei designt. Fir Kaderen wéi Qt an Boost, et ass elo méiglech méi wéi ee Provider ze benotzen, uginn déi Fournisseur déi nei qbsModuleProviders Propriétéit Lafen benotzt, an uginn eng Prioritéit fir eng Auswiel vun Moduler vun verschiddene Provider generéiert. Zum Beispill, kënnt Dir zwee Provider "Qt" an "qbspkgconfig" spezifizéieren, déi éischt vun deenen wäert probéieren de Benotzer d'Qt Installatioun ze benotzen (via eng qmake Sich), a wann keng esou Installatioun fonnt gëtt, probéiert den zweeten Provider ze benotzen. de Qt vum System geliwwert (via engem Opruff un pkg-config): CppApplication {Hänkt {Numm: "Qt.core"} Dateien: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"]}
  • Huet de "qbspkgconfig" Provider bäigefüügt, deen den "Fallback" Modul Provider ersat huet, dee probéiert huet e Modul mat pkg-config ze generéieren wann de ugefrote Modul net vun anere Fournisseuren generéiert gouf. Am Géigesaz zu "Fallback", benotzt "qbspkgconfig" amplaz de pkg-config Utility ze ruffen eng agebauter C++ Bibliothéik fir direkt ".pc" Dateien ze liesen, wat d'Aarbecht beschleunegt an zousätzlech Informatioun iwwer Packageabhängegkeeten ubitt, déi net verfügbar ass wann Dir den Uruff pkg-config Utility.
  • Zousätzlech Ënnerstëtzung fir d'C ++ 23 Spezifizéierung, déi den zukünftege C ++ Standard definéiert.
  • Zousätzlech Ënnerstëtzung fir d'Elbrus E2K Architektur fir de GCC Toolkit.
  • Fir d'Android Plattform ass d'Android.ndk.buildId Eegeschafte bäigefüügt fir de Standardwäert fir den "--build-id" Linker Fändel ze iwwerschreiden.
  • D'capnproto a protobuf Moduler implementéieren d'Fäegkeet fir Runtimes ze benotzen, déi vum qbspkgconfig Provider geliwwert ginn.
  • Geléist Probleemer mat Changement Tracking a Quelldateien op FreeBSD wéinst Millisekonne falen wann Dir Dateimodifikatiounszäiten schätzt.
  • D'ConanfileProbe.verbose Eegeschafte bäigefüügt fir et méi einfach ze maachen fir Projeten ze debuggen déi de Conan Package Manager benotzen.

Zousätzlech kënne mir den Ufank vum Alpha Testen vum Qt 6.3 Kader notéieren, deen en neie Modul "Qt Language Server" mat Ënnerstëtzung fir de Language Server an JsonRpc 2.0 Protokoller implementéiert, e groussen Deel vun neie Funktiounen ass an de Qt Core bäigefüügt ginn. Modul, an de QML Typ MessageDialog gouf am Qt Quick Dialogs Modul ëmgesat Fir den Dialog Këschte vun der Plattform ze benotzen, e Komposit Qt Shell Server an eng API fir eng schafen Är eege Mooss Shell Extensiounen goufen am Qt Wayland Compositor Modul dobäi. .

D'Qt QML Modul offréiert eng Ëmsetzung vun der qmltc (QML Typ Compiler) Compiler, déi erlaabt Iech QML Objet Strukturen an Klassen an C ze kompiléieren ++. Fir kommerziell Benotzer vun Qt 6.3 huet Testen vun der Qt Quick Compiler Produit ugefaang, déi, Nieft der uewen ernimmt QML Typ Compiler, enthält QML Script Compiler, wat erlaabt Iech QML Funktiounen an Ausdrock an C ze kompiléieren ++ Code. Et gëtt bemierkt datt d'Benotzung vum Qt Quick Compiler d'Performance vu QML-baséierte Programmer méi no bei gebierteg Programmer bréngt; besonnesch wann Dir Extensiounen kompiléiert, gëtt et eng Reduktioun vun der Startup- an Ausféierungszäit ëm ongeféier 30% am Verglach mat der interpretéierter Versioun. .

Source: opennet.ru

Setzt e Commentaire