A Qbs 1.21-es csomaggyűjtő eszköz kiadása és a Qt 6.3 tesztelésének megkezdése

Megjelent a Qbs 1.21-es verziója. Ez a nyolcadik kiadás, mióta a Qt Company kiszállt a projekt fejlesztéséből, és a közösség által készített kiadás, amely érdekelt a Qbs fejlesztésének folytatásában. A Qbs építéséhez a Qt is szükséges, bár maga a Qbs bármilyen projekt építésére alkalmas. A Qbs a QML leegyszerűsített változatát használja a projekt építési szkriptek meghatározására, amely lehetővé teszi elég rugalmas építési szabályok meghatározását, ahol külső modulok csatlakozhatnak, JavaScript funkciók használhatók és egyedi építési szabályok hozhatók létre.

A Qbs-ben használt szkriptnyelv alkalmazkodik a fejlesztői környezetekben végzett összeszerelési szkriptek automatikus generálásához és elemzéséhez. Továbbá, a Qbs nem generál make-fájlokat, hanem közvetlenül, közvetítők, például a make eszköz nélkül kontrollálja a fordítók és linker-ek indítását, optimalizálva az összeszerelési folyamatot az összes függőség részletes gráfjának alapján. Az eredeti adatok rendelkezésre állása a projekt struktúrájáról és függőségeiről lehetővé teszi a műveletek párhuzamos végrehajtását több szálban. Nagy projektek esetén, amelyek nagy számú fájlból és alkönyvtárból állnak, a Qbs-szel végzett újraelkészítés teljesítménye sokszorosan felülmúlja a make-t – az újraelkészítés szinte azonnal végbemegy, és nem késlelteti a fejlesztőt.

Emlékeztetőül, hogy 2018-ban a Qt Company úgy döntött, hogy leállítja a Qbs fejlesztését. A Qbs a qmake alternatívájaként fejlődött, de végül úgy döntöttek, hogy a CMake-t használják a Qt alapértelmezett összeszerelő rendszereként hosszú távon. A Qbs fejlesztése most egy független projekteként folytatódik, amelyet a közösség és az érdeklődő fejlesztők támogatnak. A fejlesztéshez továbbra is a Qt Company infrastruktúráját használják.

A Qbs 1.21 főbb újdonságai:

  • Átdolgozták a modul szolgáltatók (modul generátorok) mechanizmusát. Olyan keretrendszerek, mint a Qt és a Boost esetében mostantól több mint egy szolgáltató használható, meg lehet határozni, hogy melyik szolgáltatót indítsuk az új qbsModuleProviders tulajdonság segítségével, és prioritást lehet adni a különböző szolgáltatók által generált modulok kiválasztásához. Például megadhatunk két szolgáltatót, „Qt” és „qbspkgconfig”, ahol az első megpróbálja használni a felhasználói Qt telepítést (qmake keresésen keresztül), és ha ilyen telepítés nem található, a második szolgáltató megpróbálja aktiválni a Qt-t, amelyet a rendszer biztosít (pkg-config hívásával): CppApplication { Depends { name: „Qt.core” } files: „main.cpp” qbsModuleProviders: [„Qt”, „qbspkgconfig”] }
  • Hozzáadták a „qbspkgconfig” szolgáltatót, amely helyettesíti a „fallback” modul szolgáltatót, amely megpróbálta generálni a modult pkg-config segítségével, ha a keresett modult nem generálták más szolgáltatók. A „fallback”-kel ellentétben a „qbspkgconfig” a pkg-config segédeszköz hívása helyett beépített C++ könyvtárat használ a „.pc” fájlok közvetlen olvasásához, ami felgyorsítja a működést és további információkat nyújt a csomagok függőségeiről, amelyek nem állnak rendelkezésre a pkg-config segédeszköz hívása során.
  • C++23 specifikáció támogatása, amely meghatározza a jövőbeli C++ szabványt, hozzáadva.
  • GCC eszközkészletéhez hozzáadták az Elbrus E2K architektúra támogatását.
  • Az Android platformhoz hozzáadták az Android.ndk.buildId tulajdonságot, amely lehetővé teszi az „—build-id” linker zászló alapértelmezett értékének felülírását.
  • A capnproto és protobuf modulokban megvalósították a qbspkgconfig által biztosított runtime használatának lehetőségét.
  • Megoldva a FreeBSD platformon a forráskód fájlok változásainak nyomon követésének problémája, amely a fájl módosítási idő millisekundumainak elhagyása miatt merült fel.
  • Hozzáadva a ConanfileProbe.verbose tulajdonság, amely megkönnyíti a Conan csomagkezelőt használó projektek hibakeresését.

Megkezdődött a Qt 6.3 keretrendszer alfa-tesztelése, amelyben bevezetésre került az új „Qt Language Server” modul, amely támogatja a Language Server és JsonRpc 2.0 protokollokat, a Qt Core modulba jelentős új funkciók kerültek, a Qt Quick Dialogs modulban pedig megvalósult a QML típusú MessageDialog a platform által biztosított párbeszédpanelek használatára, a Qt Wayland Compositor modulba pedig kompozit került. szerver Qt Shell és API a saját felhasználói felület-kiterjesztések létrehozásához.

A Qt QML modulban bemutatásra került a qmltc (QML típusú fordító) megvalósítása, amely lehetővé teszi a QML objektumszerkezetek C++ osztályokká történő fordítását. A Qt 6.3 kereskedelmi felhasználói számára megkezdődött a Qt Quick Compiler termék tesztelése, amely a fent említett QML Típus Fordító mellett tartalmazza a QML Script Compiler-t, amely lehetővé teszi a QML funkciók és kifejezések C++ kódra fordítását. Megjegyzik, hogy a Qt Quick Compiler alkalmazása a QML alapú programok teljesítményét a natív programokhoz közelíti, különösen a kiterjesztések fordítása során megfigyelhető a betöltési és végrehajtási idő körülbelül 30%-os csökkenése az értelmezetten alkalmazott változathoz képest.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster