Qbs 1.21 kūrimo įrankių išleidimas ir Qt 6.3 testavimo pradžia

Buvo paskelbtas Qbs 1.21 kūrimo įrankių leidimas. Tai jau aštuntasis leidimas nuo tada, kai „Qt Company“ pasitraukė iš projekto kūrimo, kurį parengė bendruomenė, suinteresuota tęsti Qbs plėtrą. Norint sukurti Qbs, tarp priklausomybių reikalingas Qt, nors pats Qbs skirtas organizuoti bet kokių projektų surinkimą. Qbs naudoja supaprastintą QML kalbos versiją, kad apibrėžtų projekto kūrimo scenarijus, o tai leidžia apibrėžti gana lanksčias kūrimo taisykles, kurios gali sujungti išorinius modulius, naudoti JavaScript funkcijas ir kurti pasirinktines kūrimo taisykles.

Qbs naudojama scenarijų kalba yra pritaikyta automatizuoti IDE sukurtų scenarijų generavimą ir analizavimą. Be to, Qbs negeneruoja makefiles, o pati, be tarpininkų, tokių kaip make utility, kontroliuoja kompiliatorių ir saitų paleidimą, optimizuodama kūrimo procesą remdamasi išsamiu visų priklausomybių grafiku. Pradinių duomenų apie struktūrą ir priklausomybes projekte buvimas leidžia efektyviai lygiagrečiai atlikti operacijas keliose gijose. Didelių projektų, susidedančių iš daugybės failų ir pakatalogių, atkūrimo našumas naudojant Qbs gali kelis kartus viršyti „make“ našumą – atkūrimas vyksta beveik akimirksniu ir nereikalauja kūrėjo gaišti laiko.

Prisiminkite, kad 2018 m. bendrovė „Qt“ nusprendė nustoti kurti Qbs. Qbs buvo sukurtas kaip qmake pakaitalas, tačiau galiausiai buvo nuspręsta naudoti CMake kaip pagrindinę Qt kūrimo sistemą ilgainiui. Qbs kūrimas dabar tęsiamas kaip nepriklausomas projektas, remiamas bendruomenės jėgų ir suinteresuotų kūrėjų. „Qt Company“ infrastruktūra ir toliau naudojama plėtrai.

Pagrindinės Qbs 1.21 naujovės:

  • Perdarytas modulių tiekėjų (modulių generatorių) mechanizmas. Tokiose sistemose kaip Qt ir Boost dabar galima naudoti daugiau nei vieną tiekėją, nurodyti, kurį tiekėją paleisti naudojant naują ypatybę qbsModuleProviders, ir nurodyti prioritetą pasirenkant skirtingų tiekėjų sugeneruotus modulius. Pavyzdžiui, galite nurodyti du teikėjus „Qt“ ir „qbspkgconfig“, iš kurių pirmasis bandys naudoti vartotojo įdiegtą Qt (per qmake paiešką), o jei tokio diegimo nerasta, antrasis teikėjas bandys naudokite sistemos pateiktą Qt (per iškvietimą į pkg-config) : CppApplication { Depends { name: "Qt.core" } files: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Pridėtas „qbspkgconfig“ teikėjas, kuris pakeitė „atsarginį“ modulio teikėją, kuris bandė sugeneruoti modulį naudodamas pkg-config, jei prašomo modulio nesukūrė kiti teikėjai. Skirtingai nuo „atsarginio“, „qbspkgconfig“, užuot iškvietusi pkg-config programą, naudoja integruotą C++ biblioteką, kad tiesiogiai skaitytų „.pc“ failus, o tai pagreitina darbą ir suteikia papildomos informacijos apie paketų priklausomybes, kurios nepasiekiama skambinant į pkg-config įrankis.
  • Pridėta C++23 specifikacijos, kuri apibrėžia būsimą C++ standartą, palaikymas.
  • Pridėtas Elbrus E2K architektūros palaikymas GCC įrankių rinkiniui.
  • „Android“ platformoje buvo pridėta Android.ndk.buildId nuosavybė, kuri nepaisytų numatytosios nuorodos žymos „--build-id“ reikšmės.
  • „Capnproto“ ir „protobuf“ moduliai įgyvendina galimybę naudoti „qbspkgconfig“ teikėjo teikiamą vykdymo laiką.
  • Išspręstos problemos, susijusios su pakeitimų sekimu šaltinio failuose FreeBSD, nes apskaičiuojant failų modifikavimo laiką buvo sumažintos milisekundės.
  • Pridėta ypatybė ConanfileProbe.verbose, kad būtų lengviau derinti projektus, kuriuose naudojama Conan paketų tvarkyklė.

Be to, galima pastebėti Qt 6.3 sistemos alfa testavimo pradžią, kuri įdiegia naują modulį "Qt Language Server" su palaikymu kalbų serveriui ir JsonRpc 2.0 protokolams, didelė dalis naujų funkcijų buvo įtraukta į Qt Core. modulis, o Qt greitųjų dialogų modulyje įdiegtas QML tipas MessageDialog Kad būtų galima naudotis platformos teikiamais dialogo langeliais, į Qt Wayland Compositor modulį buvo įtrauktas sudėtinis Qt Shell serveris ir API, skirta sukurti savo pasirinktinius apvalkalo plėtinius. .

Qt QML modulis siūlo qmltc (QML tipo kompiliatoriaus) kompiliatoriaus įgyvendinimą, kuris leidžia kompiliuoti QML objektų struktūras į klases C++ kalba. Komerciniams Qt 6.3 vartotojams pradėtas testuoti Qt Quick Compiler produktas, kuriame, be jau minėto QML Type Compiler, yra QML Script Compiler, leidžiantis sukompiliuoti QML funkcijas ir išraiškas į C++ kodą. Pažymima, kad naudojant Qt Quick Compiler QML pagrindu sukurtų programų našumas bus priartintas prie vietinių programų; ypač kompiliuojant plėtinius, paleidimo ir vykdymo laikas sutrumpėja maždaug 30 %, palyginti su interpretuotos versijos naudojimu. .

Šaltinis: opennet.ru

Добавить комментарий