Liberazione di strumenti di creazione Qbs 1.21 è principiu di teste Qt 6.3

U Qbs 1.21 build tools release hè statu annunziatu. Questa hè a ottava liberazione da chì a Cumpagnia Qt abbandunò u sviluppu di u prugettu, preparatu da a cumunità interessata à cuntinuà u sviluppu di Qbs. Per custruisce Qbs, Qt hè necessariu trà e dipendenze, ancu se Qbs stessu hè designatu per urganizà l'assemblea di qualsiasi prughjetti. Qbs usa una versione simplificata di a lingua QML per definisce i script di creazione di prughjettu, chì vi permette di definisce e regule di custruzzione abbastanza flexible chì ponu cunnette moduli esterni, utilizate funzioni JavaScript è creanu reguli di custruzzione persunalizati.

U linguaghju di scripting utilizatu in Qbs hè adattatu per automatizà a generazione è l'analisi di script di creazione da IDE. Inoltre, Qbs ùn genera micca makefiles, è ellu stessu, senza intermediari cum'è l'utilità make, cuntrolla u lanciamentu di compilatori è linkers, ottimizendu u prucessu di custruzzione basatu annantu à un gràficu detallatu di tutte e dipendenze. A prisenza di dati iniziali nantu à a struttura è a dependenza in u prugettu permette di parallelizà efficacemente l'esekzione di l'operazioni in parechji filamenti. Per i grandi prughjetti custituiti da un gran numaru di schedari è subdirectories, a prestazione di ricustruisce cù Qbs pò superà fà da parechje volte - a ricustruzzione hè quasi istantanea è ùn face micca u sviluppatore passà u tempu aspittendu.

Ricurdativi chì in 2018, a Cumpagnia Qt hà decisu di piantà di sviluppà Qbs. Qbs hè statu sviluppatu cum'è un sustitutu di qmake, ma in fine hè statu decisu di utilizà CMake cum'è u sistema di custruzzione principale per Qt à longu andà. U sviluppu di Qbs hà avà cuntinuatu cum'è un prughjettu indipendente sustinutu da e forze di a cumunità è i sviluppatori interessati. L'infrastruttura Qt Company cuntinueghja à esse usata per u sviluppu.

Innuvazioni chjave in Qbs 1.21:

  • U mecanismu di i fornitori di moduli (generatori di moduli) hè statu riprogettatu. Per i frameworks cum'è Qt è Boost, hè avà pussibule di utilizà più di un fornitore, specificà quale fornitore per eseguisce cù a nova pruprietà qbsModuleProviders, è specifica una priorità per selezziunà moduli generati da diversi fornitori. Per esempiu, pudete specificà dui fornituri "Qt" è "qbspkgconfig", u primu di quale pruvarà à utilizà l'installazione Qt di l'utilizatore (via una ricerca qmake), è se ùn si trova micca una tale installazione, u sicondu fornitore pruvà à aduprà. u Qt furnitu da u sistema (via una chjama à pkg-config): CppApplication { Depends { name: "Qt.core" } files: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Aggiuntu u fornitore "qbspkgconfig", chì hà rimpiazzatu u fornitore di moduli "fallback", chì hà pruvatu à generà un modulu cù pkg-config se u modulu dumandatu ùn era micca generatu da altri fornituri. A cuntrariu di "fallback", "qbspkgconfig" invece di chjamà l'utilità pkg-config usa una libreria C++ integrata per leghje direttamente i fugliali ".pc", chì accelerà u travagliu è furnisce infurmazioni supplementari nantu à e dipendenze di u pacchettu chì ùn hè micca dispunibule quandu chjamate u pacchettu. pkg-config utilità.
  • Aghjunghje supportu per a specificazione C++ 23, chì definisce u futuru standard C++.
  • Aghjunghje supportu per l'architettura Elbrus E2K per u toolkit GCC.
  • Per a piattaforma Android, a pruprietà Android.ndk.buildId hè stata aghjunta per annullà u valore predeterminatu per a bandiera di linker "--build-id".
  • I moduli capnproto è protobuf implementanu a capacità di utilizà runtimes furnite da u fornitore qbspkgconfig.
  • Problemi risolti cù u seguimentu di u cambiamentu in i fugliali fonte in FreeBSD per via di l'abbandunamentu di millisecondi quandu si stimanu i tempi di mudificazione di u schedariu.
  • Aggiunta a pruprietà ConanfileProbe.verbose per fà più faciule per debug prughjetti chì utilizanu u gestore di pacchetti Conan.

Inoltre, pudemu nutà l'iniziu di teste alfa di u framework Qt 6.3, chì implementa un novu modulu "Qt Language Server" cù supportu per i protokolli Language Server è JsonRpc 2.0, una grande parte di novi funzioni hè stata aghjunta à u Qt Core. modulu, è u tippu QML MessageDialog hè statu implementatu in u modulu Qt Quick Dialogs Per utilizà i scatuli di dialogu furniti da a piattaforma, un servitore Qt Shell compostu è una API per creà e vostre propiu estensioni di shell persunalizati sò stati aghjuntu à u modulu Qt Wayland Compositor. .

U modulu Qt QML offre una implementazione di u compilatore qmltc (QML type compiler), chì permette di cumpilà strutture d'ughjettu QML in classi in C++. Per l'utilizatori cummerciale di Qt 6.3, a prova di u produttu Qt Quick Compiler hà iniziatu, chì, in più di u QML Type Compiler sopra citatu, include u QML Script Compiler, chì permette di cumpilà funzioni è espressioni QML in codice C++. Hè nutatu chì l'usu di Qt Quick Compiler avvicinarà a prestazione di i prugrammi basati in QML à i prugrammi nativi; in particulare, quandu si compilanu estensioni, ci hè una riduzione di u tempu d'iniziu è di esecuzione di circa 30% cumparatu cù l'usu di a versione interpretata. .

Source: opennet.ru

Add a comment