Release fan Qbs 1.21 build ark en begjin fan Qt 6.3 testen

De release fan Qbs 1.21 build-ark is oankundige. Dit is de achtste frijlitting sûnt de Qt Company ferliet de ûntwikkeling fan it projekt, taret troch de mienskip ynteressearre yn in fierdere ûntwikkeling fan Qbs. Foar in build Qbs, is Qt nedich ûnder de ôfhinklikens, hoewol't Qbs sels is ûntwurpen om te organisearjen de gearkomste fan alle projekten. Qbs brûkt in ferienfâldige ferzje fan de QML taal foar in definiearje projekt build skripts, dat kinne jo definiearje frij fleksibele bou regels dy't kinne ferbine eksterne modules, brûk JavaScript funksjes, en meitsje oanpaste build regels.

De skripttaal brûkt yn Qbs is oanpast foar it automatisearjen fan it generearjen en parsen fan build-skripts troch IDE's. Derneist genereart Qbs gjin makefiles, en sels, sûnder tuskenpersoanen lykas it make-nutsbedriuw, kontrolearret de lansearring fan gearstallers en linkers, it optimalisearjen fan it bouproses basearre op in detaillearre grafyk fan alle ôfhinklikens. De oanwêzigens fan inisjele gegevens oer de struktuer en ôfhinklikens yn it projekt kinne jo effektyf parallelize de útfiering fan operaasjes yn ferskate triedden. Foar grutte projekten besteande út in grut oantal triemmen en submappen, de prestaasjes fan rebuilds mei help fan Qbs kin outperform make troch ferskate kearen - de werbou is hast instantaneous en net meitsje de ûntwikkelder besteegje tiid wachtsjen.

Tink derom dat yn 2018 de Qt Company besleat om te stopjen mei it ûntwikkeljen fan Qbs. Qbs waard ûntwikkele as ferfanging foar qmake, mar úteinlik waard besletten om te brûken CMake as de wichtichste build systeem foar Qt yn 'e lange doer. De ûntwikkeling fan Qbs is no trochgean as in ûnôfhinklik projekt stipe troch mienskipskrêften en ynteressearre ûntwikkelders. De ynfrastruktuer fan Qt Company bliuwt brûkt foar ûntwikkeling.

De wichtichste ynnovaasjes fan Qbs 1.21:

  • It meganisme fan module-oanbieders (module-generators) is opnij ûntwurpen. Foar kaders lykas Qt en Boost, is it no mooglik om te brûken mear as ien provider, spesifisearje hokker provider te rinnen mei help fan de nije qbsModuleProviders eigendom, en spesifisearje in prioriteit foar in selektearje modules oanmakke troch ferskate providers. Jo kinne bygelyks twa providers "Qt" en "qbspkgconfig" opjaan, wêrfan de earste sil besykje de Qt-ynstallaasje fan 'e brûker te brûken (fia in qmake-sykjen), en as sa'n ynstallaasje net fûn wurdt, sil de twadde provider besykje te brûken de Qt levere troch it systeem (fia in oprop oan pkg-config): CppApplication {Hanket {namme: "Qt.core"} triemmen: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Taheakke de "qbspkgconfig" provider, dy't ferfong de "fallback" module provider, dy't besocht te generearjen in module mei help fan pkg-config as de frege module waard net oanmakke troch oare providers. Oars as "fallback", brûkt "qbspkgconfig" ynstee fan it pkg-config-hulpprogramma in ynboude C++-bibleteek om direkt ".pc"-bestannen te lêzen, wat it wurk fersnelt en oanfoljende ynformaasje jout oer pakketôfhinklikens dy't net beskikber is by it roppen fan de pkg-config utility.
  • Stipe tafoege foar de C ++ 23-spesifikaasje, dy't de takomstige C ++ standert definiearret.
  • Stipe tafoege foar de Elbrus E2K-arsjitektuer foar de GCC-ark.
  • Foar it Android-platfoarm is it eigenskip Android.ndk.buildId tafoege om de standertwearde foar de linkerflagge "--build-id" te oerskriuwen.
  • De modules capnproto en protobuf ymplementearje de mooglikheid om runtimes te brûken levere troch de qbspkgconfig-provider.
  • Problemen oplost mei it folgjen fan feroaringen yn boarnebestannen op FreeBSD fanwegen dat millisekonden falle wurde by it skatten fan bestânmodifikaasjetiden.
  • De eigenskip ConanfileProbe.verbose tafoege om it makliker te meitsjen om projekten te debuggen dy't de Conan-pakketbehearder brûke.

Derneist kinne wy ​​​​it begjin fan alpha-testen fan it Qt 6.3-ramt opmerke, dy't in nije module "Qt Language Server" ymplementearret mei stipe foar de Language Server en JsonRpc 2.0 protokollen, in grut part fan nije funksjes is tafoege oan de Qt Core module, en it QML-type MessageDialog is ymplementearre yn 'e module Qt Quick Dialogs. .

De Qt QML module biedt in ymplemintaasje fan de qmltc (QML type compiler) compiler, dat kinne jo kompilearje QML foarwerp struktueren yn klassen yn C ++. Foar kommersjele brûkers fan Qt 6.3 is begûn te testen fan de Qt Quick Compiler produkt, dy't, neist de hjirboppe neamde QML Type Compiler, omfiemet QML Script Compiler, dat kinne jo kompilearje QML funksjes en útdrukkingen yn C ++ koade. It wurdt opmurken dat it brûken fan Qt Quick Compiler de prestaasjes fan QML-basearre programma's tichter by lânseigen programma's bringt; benammen by it kompilearjen fan útwreidingen is d'r in fermindering fan opstart- en útfieringstiid mei sawat 30% yn ferliking mei it brûken fan de ynterpretearre ferzje .

Boarne: opennet.ru

Add a comment