Liberigo de Qbs 1.21-konstruaj iloj kaj komenco de Qt 6.3-testado

La eldono de konstruiloj de Qbs 1.21 estis anoncita. Ĉi tiu estas la oka eldono de kiam la Kompanio Qt forlasis la evoluon de la projekto, preparita de la komunumo interesita pri daŭrigi la evoluon de Qbs. Por konstrui Qbs, Qt estas postulata inter la dependecoj, kvankam Qbs mem estas dizajnita por organizi la kunigon de iuj projektoj. Qbs uzas simpligitan version de la QML-lingvo por difini projektajn konstruajn skriptojn, kio ebligas al vi difini sufiĉe flekseblajn konstruajn regulojn, kiuj povas konekti eksterajn modulojn, uzi JavaScript-funkciojn kaj krei kutimajn konstruajn regulojn.

La skriptlingvo uzita en Qbs estas adaptita por aŭtomatigi la generacion kaj analizadon de konstruskriptoj de IDEoj. Krome, Qbs ne generas makefiles, kaj mem, sen perantoj kiel la make-utilo, kontrolas la lanĉon de kompililoj kaj ligiloj, optimumigante la konstruprocezon bazitan sur detala grafeo de ĉiuj dependecoj. La ĉeesto de komencaj datumoj pri la strukturo kaj dependecoj en la projekto permesas efike paraleligi la ekzekuton de operacioj en pluraj fadenoj. Por grandaj projektoj konsistantaj el granda nombro da dosieroj kaj subdosierujoj, la agado de rekonstruoj uzante Qbs povas plurfoje superi make - la rekonstruo estas preskaŭ tuja kaj ne igas la programiston pasigi tempon atendante.

Memoru, ke en 2018, la Kompanio Qt decidis ĉesi disvolvi Qbs. Qbs estis evoluigita kiel anstataŭaĵo por qmake, sed finfine estis decidite uzi CMake kiel la ĉefan konstrusistemon por Qt en la longa kuro. La evoluo de Qbs nun daŭris kiel sendependa projekto subtenata de komunumaj fortoj kaj interesitaj programistoj. La Qt Company-infrastrukturo daŭre estas uzita por evoluo.

Ŝlosilaj novigoj en Qbs 1.21:

  • La mekanismo de modulprovizantoj (modulgeneratoroj) estis restrukturita. Por kadroj kiel Qt kaj Boost, nun eblas uzi pli ol unu provizanton, specifi kiun provizanton ruli uzante la novan posedaĵon qbsModuleProviders, kaj specifi prioritaton por elekti modulojn generitajn de malsamaj provizantoj. Ekzemple, vi povas specifi du provizantoj "Qt" kaj "qbspkgconfig", la unua el kiuj provos uzi la Qt-instalaĵon de la uzanto (per qmake-serĉo), kaj se tia instalaĵo ne estas trovita, la dua provizanto provos uzi la Qt provizita de la sistemo (per voko al pkg-config): CppApplication { Dependas { nomo: "Qt.core" } dosieroj: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Aldonita la "qbspkgconfig" provizanto, kiu anstataŭigis la "falback" modulprovizanto, kiu provis generi modulon uzante pkg-config se la petita modulo ne estis generita de aliaj provizantoj. Male al "falback", "qbspkgconfig" anstataŭ voki la pkg-config ilo uzas enkonstruitan C++-bibliotekon por rekte legi ".pc" dosierojn, kio ebligas akceli laboron kaj akiri pliajn informojn pri pakaĵdependencoj kiuj ne estas disponeblaj dum vokado. la pkg-config ilo.
  • Aldonita subteno por la C++23-specifo, kiu difinas la estontan C++-normon.
  • Aldonita subteno por la arkitekturo Elbrus E2K por la ilaro de GCC.
  • Por la Android-platformo, la posedaĵo Android.ndk.buildId estis aldonita por anstataŭi la defaŭltan valoron por la ligila flago "--build-id".
  • La capnproto kaj protobuf-moduloj efektivigas la kapablon uzi rultempojn provizitajn de la provizanto qbspkgconfig.
  • Solvitaj problemoj kun ŝanĝa spurado en fontdosieroj sur FreeBSD pro milisekundoj faligitaj dum taksado de dosierŝanĝaj tempoj.
  • Aldonis la posedaĵon ConanfileProbe.verbose por plifaciligi sencimigi projektojn, kiuj uzas la pakaĵadministrilon de Conan.

Aldone, ni povas noti la komencon de alfa-testado de la kadro Qt 6.3, kiu efektivigas novan modulon "Qt Lingvo-Servilo" kun subteno por la Lingva Servilo kaj JsonRpc 2.0 protokoloj, granda parto de novaj funkcioj estis aldonita al la Qt Kerno. modulo, kaj la QML-tipa MessageDialog estis efektivigita en la Qt Quick Dialogs-modulo Por uzi la dialogkestojn provizitajn de la platformo, kunmetita Qt Shell-servilo kaj API por krei viajn proprajn kutimajn ŝel-etendaĵojn estis aldonitaj al la modulo Qt Wayland Compositor. .

La Qt QML-modulo ofertas efektivigon de la kompililo qmltc (QML-tipa kompililo), kiu permesas vin kompili QML-objektstrukturojn en klasojn en C++. Por komercaj uzantoj de Qt 6.3 komenciĝis testado de la produkto Qt Quick Compiler, kiu, krom la supre menciita QML-Tipa Kompililo, inkluzivas la QML-Skripto-Kompilon, kiu ebligas al vi kompili QML-funkciojn kaj esprimojn en C++-kodon. Oni rimarkas, ke la uzo de Qt Quick Compiler proksimigos la agadon de QML-bazitaj programoj al denaskaj programoj; precipe, dum kompilado de etendaĵoj, estas redukto de ekfunkciigo kaj ekzekuttempo je proksimume 30% kompare kun uzado de la interpretita versio. .

fonto: opennet.ru

Aldoni komenton