Qbs 1.21 -rakennustyökalujen julkaisu ja Qt 6.3 -testauksen alkaminen

Qbs 1.21 -koontityökalujen julkaisu on julkistettu. Tämä on kahdeksas julkaisu sen jälkeen, kun Qt Company jätti projektin kehityksen, ja sen on valmistellut Qbs:n kehittämisen jatkamisesta kiinnostuneet yhteisöt. Qbs:n rakentamiseen vaaditaan riippuvuuksien joukossa Qt, vaikka itse Qbs on suunniteltu järjestämään minkä tahansa projektin kokoonpano. Qbs käyttää yksinkertaistettua versiota QML-kielestä projektin rakennuskomentosarjojen määrittämiseen, minkä avulla voit määrittää melko joustavia koontisääntöjä, jotka voivat yhdistää ulkoisia moduuleja, käyttää JavaScript-toimintoja ja luoda mukautettuja koontisääntöjä.

Qbs:ssä käytetty komentosarjakieli on mukautettu automatisoimaan IDE:iden koontiskriptien luominen ja jäsentäminen. Lisäksi Qbs ei luo make-tiedostoja, ja itse ilman välittäjiä, kuten make-apuohjelmaa, hallitsee kääntäjien ja linkittäjien käynnistystä optimoiden koontiprosessin yksityiskohtaisen kaavion perusteella kaikista riippuvuuksista. Alkutietojen läsnäolo projektin rakenteesta ja riippuvuuksista antaa sinun rinnastaa toimintojen suorittamisen tehokkaasti useissa säikeissä. Suurissa projekteissa, jotka koostuvat suuresta määrästä tiedostoja ja alihakemistoja, uudelleenrakennussuorituskyky Qbs:llä voi olla useita kertoja parempi kuin make - uusinta on lähes välitön, eikä kehittäjä joudu odottamaan aikaa.

Muista, että vuonna 2018 Qt-yhtiö päätti lopettaa Qb:n kehittämisen. Qbs kehitettiin korvaamaan qmake, mutta lopulta päätettiin käyttää CMakea Qt:n päärakennusjärjestelmänä pitkällä aikavälillä. Qbs:n kehittäminen on nyt jatkunut itsenäisenä projektina yhteisön voimien ja kiinnostuneiden kehittäjien tukemana. Qt Companyn infrastruktuuria käytetään edelleen kehittämiseen.

Tärkeimmät innovaatiot Qbs 1.21:ssä:

  • Moduulitoimittajien (moduuligeneraattorien) mekanismi on suunniteltu uudelleen. Kehyksissä, kuten Qt ja Boost, on nyt mahdollista käyttää useampaa kuin yhtä tarjoajaa, määrittää, mikä palveluntarjoaja suoritetaan käyttämällä uutta qbsModuleProviders-ominaisuutta, ja määrittää prioriteetti eri tarjoajien luomien moduulien valinnalle. Voit esimerkiksi määrittää kaksi palveluntarjoajaa "Qt" ja "qbspkgconfig", joista ensimmäinen yrittää käyttää käyttäjän Qt-asennusta (qmake-haun kautta), ja jos tällaista asennusta ei löydy, toinen toimittaja yrittää käyttää järjestelmän tarjoama Qt (kutsun pkg-config kautta): CppApplication { Riippuu { nimi: "Qt.core" } tiedostot: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Lisätty "qbspkgconfig"-toimittaja, joka korvasi "varamoduulin" toimittajan, joka yritti luoda moduulin pkg-configilla, jos muut toimittajat eivät luoneet pyydettyä moduulia. Toisin kuin "varaus", "qbspkgconfig" käyttää pkg-config-apuohjelman kutsumisen sijaan sisäänrakennettua C++-kirjastoa lukemaan suoraan ".pc"-tiedostoja, mikä nopeuttaa työtä ja saa lisätietoa pakettien riippuvuuksista, joita ei ole saatavilla kutsuttaessa. pkg-config-apuohjelma.
  • Lisätty tuki C++23-spesifikaatiolle, joka määrittelee tulevan C++-standardin.
  • Lisätty tuki Elbrus E2K -arkkitehtuurille GCC-työkalusarjalle.
  • Android-alustalle Android.ndk.buildId-ominaisuus on lisätty ohittamaan "--build-id"-linkerlipun oletusarvon.
  • Capnproto- ja protobuf-moduulit toteuttavat mahdollisuuden käyttää qbspkgconfig-toimittajan tarjoamia ajonaikoja.
  • Ratkaistu FreeBSD:n lähdetiedostojen muutosseurannan ongelmat, jotka johtuivat millisekuntien hidastumisesta tiedostojen muokkausaikoja arvioitaessa.
  • Lisätty ConanfileProbe.verbose-ominaisuus, joka helpottaa Conan-paketinhallintaa käyttävien projektien virheenkorjausta.

Lisäksi voidaan havaita Qt 6.3 -kehyksen alfatestauksen alkaminen, joka toteuttaa uuden moduulin "Qt Language Server", joka tukee Language Server- ja JsonRpc 2.0 -protokollia, suuri osa uusia toimintoja on lisätty Qt Core -järjestelmään. moduuli, ja Qt Quick Dialogs -moduulissa on toteutettu QML-tyyppinen MessageDialog Jotta alustan tarjoamia valintaikkunoita voidaan käyttää, Qt Wayland Compositor -moduuliin on lisätty yhdistelmä Qt Shell -palvelin ja API omien komentotulkkilaajennusten luomista varten. .

Qt QML -moduuli tarjoaa toteutuksen qmltc (QML type compiler) -kääntäjästä, jonka avulla voit kääntää QML-objektirakenteita luokiksi C++:ssa. Qt 6.3:n kaupallisille käyttäjille on aloitettu Qt Quick Compiler -tuotteen testaus, joka sisältää edellä mainitun QML Type Compiler -ohjelman lisäksi QML Script Compiler -ohjelman, jonka avulla voit kääntää QML-funktioita ja -lausekkeita C++-koodiksi. On huomattava, että Qt Quick Compiler -ohjelman käyttö tuo QML-pohjaisten ohjelmien suorituskyvyn lähemmäksi alkuperäisiä ohjelmia; erityisesti laajennuksia käännettäessä käynnistys- ja suoritusaika lyhenee noin 30 % verrattuna tulkitun version käyttöön. .

Lähde: opennet.ru

Lisää kommentti