Qbs 1.21 ehitustööriistade väljalaskmine ja Qt 6.3 testimise algus

Qbs 1.21 ehitustööriistade väljalase on välja kuulutatud. See on kaheksas väljaanne pärast seda, kui Qt ettevõte projekti arendusest lahkus. Selle valmistas ette Qbs-i arendamise jätkamisest huvitatud kogukond. Qb-de loomiseks on sõltuvuste hulgas nõutav Qt, kuigi Qbs ise on mõeldud mis tahes projektide kokkupanemise korraldamiseks. Qbs kasutab projekti koostamise skriptide määratlemiseks QML-keele lihtsustatud versiooni, mis võimaldab määratleda üsna paindlikke ehitusreegleid, millega saab ühendada väliseid mooduleid, kasutada JavaScripti funktsioone ja luua kohandatud ehitusreegleid.

Qbs-is kasutatav skriptikeel on kohandatud integreeritud arenduskeskkondade abil ehitusskriptide genereerimise ja sõelumise automatiseerimiseks. Lisaks ei genereeri Qbs makefile, vaid ise, ilma vahendajateta, nagu make-utiliit, kontrollib kompilaatorite ja linkerite käivitamist, optimeerides ehitusprotsessi kõigi sõltuvuste üksikasjaliku graafiku alusel. Algandmete olemasolu projekti struktuuri ja sõltuvuste kohta võimaldab toimingute täitmist mitmes lõimes tõhusalt paralleelstada. Suurte projektide puhul, mis koosnevad suurest hulgast failidest ja alamkataloogidest, võib Qbs-i abil taastamine olla mitu korda kiirem kui make – ümberehitamine toimub peaaegu kohe ega sunni arendajat ootamisele aega raiskama.

Meenutagem, et 2018. aastal otsustas Qt Company Qb-de arendamise lõpetada. Qbs töötati välja qmake asendusena, kuid lõpuks otsustati pikemas perspektiivis kasutada CMake'i Qt peamise ehitussüsteemina. Qbs-i arendus on nüüdseks jätkunud iseseisva projektina, mida toetavad kogukond ja huvitatud arendajad. Arenduseks kasutatakse jätkuvalt Qt Company taristut.

Peamised uuendused Qbs 1.21-s:

  • Moodulipakkujate (moodulite generaatorite) mehhanism on ümber kujundatud. Selliste raamistike puhul nagu Qt ja Boost on nüüd võimalik kasutada rohkem kui ühte pakkujat, määrata, millist pakkujat käivitada, kasutades uut atribuuti qbsModuleProviders, ja määrata prioriteet erinevate pakkujate loodud moodulite valimisel. Näiteks saate määrata kaks pakkujat "Qt" ja "qbspkgconfig", millest esimene proovib kasutada kasutaja Qt installi (qmake otsingu kaudu) ja kui sellist installi ei leita, proovib teine ​​pakkuja kasutada süsteemi pakutav Qt (pkg-config kõne kaudu): CppApplication { Depends { name: "Qt.core" } files: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Lisatud "qbspkgconfig" pakkuja, mis asendas "varu" mooduli pakkuja, mis üritas luua moodulit kasutades pkg-config, kui soovitud moodulit ei genereerinud teised pakkujad. Erinevalt "varumisest" kasutab "qbspkgconfig" pkg-config utiliidi kutsumise asemel sisseehitatud C++ teeki, et lugeda ".pc" faile otse, mis kiirendab tööd ja annab lisateavet paketisõltuvuste kohta, mis pole saadaval pkg-config utiliit.
  • Lisatud on C++23 spetsifikatsiooni tugi, mis määratleb tulevase C++ standardi.
  • GCC tööriistakomplekti jaoks on lisatud tugi Elbrus E2K arhitektuurile.
  • Androidi platvormi jaoks on lisatud atribuut Android.ndk.buildId, et alistada linkeri lipu "--build-id" vaikeväärtus.
  • Capnproto ja protobuf moodulid rakendavad võimalust kasutada qbspkgconfigi pakkuja pakutavaid käitusaegu.
  • Lahendatud on FreeBSD lähtefailide muudatuste jälgimisega seotud probleemid, mis tulenevad faili muutmisaegade hindamisel langevast millisekunditest.
  • Lisati atribuut ConanfileProbe.verbose, et hõlbustada Conani paketihaldurit kasutavate projektide silumist.

Lisaks võime märkida Qt 6.3 raamistiku alfatestimise algust, mis juurutab uut moodulit “Qt Language Server”, mis toetab keeleserverit ja JsonRpc 2.0 protokolle, suur osa uutest funktsioonidest on lisatud Qt Core’i. moodul ja Qt Quick Dialogs moodulis on realiseeritud QML-tüüpi MessageDialog Platvormi pakutavate dialoogibokside kasutamiseks on moodulisse Qt Wayland Compositor lisatud Qt Shelli liitserver ja API oma kohandatud shell-laiendite loomiseks. .

Qt QML-moodul pakub qmltc (QML tüüpi kompilaatori) kompilaatori teostust, mis võimaldab koostada QML-i objektide struktuure klassidesse C++ keeles. Qt 6.3 kommertskasutajate jaoks on alanud Qt Quick Compileri toote testimine, mis sisaldab lisaks eelpool mainitud QML Type Compilerile ka QML Script Compileri, mis võimaldab koostada QML-i funktsioone ja avaldisi C++ koodiks. Märgitakse, et Qt Quick Compileri kasutamine toob QML-põhiste programmide jõudluse omaprogrammidele lähemale; eriti laienduste kompileerimisel väheneb käivitus- ja täitmisaeg ligikaudu 30% võrreldes tõlgendatud versiooni kasutamisega. .

Allikas: opennet.ru

Lisa kommentaar