Lanzamento das ferramentas de compilación Qbs 1.21 e inicio das probas de Qt 6.3

Anunciause a versión de ferramentas de compilación Qbs 1.21. Este é o oitavo lanzamento desde que Qt Company deixou o desenvolvemento do proxecto, preparado pola comunidade interesada en continuar co desenvolvemento de Qbs. Para construír Qbs, é necesario Qt entre as dependencias, aínda que o propio Qbs está deseñado para organizar a montaxe de calquera proxecto. Qbs usa unha versión simplificada da linguaxe QML para definir scripts de construción de proxectos, o que lle permite definir regras de compilación bastante flexibles que poden conectar módulos externos, usar funcións JavaScript e crear regras de compilación personalizadas.

A linguaxe de scripts utilizada en Qbs está adaptada para automatizar a xeración e análise de scripts de compilación por parte dos IDE. Ademais, Qbs non xera makefiles, e por si mesmo, sen intermediarios como a utilidade make, controla o lanzamento de compiladores e enlazadores, optimizando o proceso de compilación baseándose nun gráfico detallado de todas as dependencias. A presenza de datos iniciais sobre a estrutura e as dependencias do proxecto permítelle paralelizar eficazmente a execución de operacións en varios fíos. Para proxectos grandes que consisten en un gran número de ficheiros e subdirectorios, o rendemento das reconstrucións usando Qbs pode superar en varias veces o rendemento de make - a reconstrución é case instantánea e non fai que o desenvolvedor pase tempo esperando.

Lembre que en 2018, a empresa Qt decidiu deixar de desenvolver Qbs. Qbs foi desenvolvido como un substituto de qmake, pero finalmente decidiuse usar CMake como o sistema de compilación principal para Qt a longo prazo. O desenvolvemento de Qbs continuou agora como un proxecto independente apoiado polas forzas comunitarias e os desenvolvedores interesados. A infraestrutura de Qt Company segue utilizándose para o desenvolvemento.

Novidades clave en Qbs 1.21:

  • O mecanismo dos provedores de módulos (xeradores de módulos) foi redeseñado. Para marcos como Qt e Boost, agora é posible usar máis dun provedor, especificar que provedor executar usando a nova propiedade qbsModuleProviders e especificar unha prioridade para seleccionar módulos xerados por diferentes provedores. Por exemplo, pode especificar dous provedores "Qt" e "qbspkgconfig", o primeiro dos cales tentará usar a instalación de Qt do usuario (mediante unha busca de qmake) e se non se atopa esa instalación, o segundo provedor intentará utilizar o Qt proporcionado polo sistema (mediante unha chamada a pkg-config): CppApplication { Depende { nome: "Qt.core" } ficheiros: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Engadiuse o fornecedor "qbspkgconfig", que substituíu ao fornecedor de módulos "de reserva", que tentaba xerar un módulo mediante pkg-config se o módulo solicitado non foi xerado por outros provedores. A diferenza de "fallback", "qbspkgconfig" en lugar de chamar á utilidade pkg-config usa unha biblioteca C++ integrada para ler directamente ficheiros ".pc", o que acelera o traballo e proporciona información adicional sobre as dependencias dos paquetes que non está dispoñible ao chamar ao utilidade pkg-config.
  • Engadido soporte para a especificación C++23, que define o futuro estándar de C++.
  • Engadido soporte para a arquitectura Elbrus E2K para o kit de ferramentas GCC.
  • Para a plataforma Android, engadiuse a propiedade Android.ndk.buildId para anular o valor predeterminado da marca de ligazón "--build-id".
  • Os módulos capnproto e protobuf implementan a capacidade de usar tempos de execución proporcionados polo provedor qbspkgconfig.
  • Resolveuse problemas co seguimento de cambios nos ficheiros fonte en FreeBSD debido a que se perderon milisegundos ao estimar os tempos de modificación do ficheiro.
  • Engadiuse a propiedade ConanfileProbe.verbose para facilitar a depuración de proxectos que usan o xestor de paquetes Conan.

Ademais, podemos sinalar o inicio das probas alfa do framework Qt 6.3, que implementa un novo módulo "Qt Language Server" con soporte para os protocolos Language Server e JsonRpc 2.0, unha gran parte de novas funcións foron engadidas ao Qt Core. e implementouse o módulo MessageDialog de tipo QML no módulo Qt Quick Dialogs. Para usar as caixas de diálogo proporcionadas pola plataforma, engadíronse un servidor Qt Shell composto e unha API para crear as súas propias extensións de shell personalizadas ao módulo Qt Wayland Compositor. .

O módulo Qt QML ofrece unha implementación do compilador qmltc (compilador de tipo QML), que lle permite compilar estruturas de obxectos QML en clases en C++. Para os usuarios comerciais de Qt 6.3, comezaron as probas do produto Qt Quick Compiler, que, ademais do anteriormente mencionado QML Type Compiler, inclúe o QML Script Compiler, que permite compilar funcións e expresións QML en código C++. Nótase que o uso de Qt Quick Compiler achegará o rendemento dos programas baseados en QML aos programas nativos; en particular, ao compilar extensións, hai unha redución do tempo de inicio e execución de aproximadamente un 30% en comparación co uso da versión interpretada. .

Fonte: opennet.ru

Engadir un comentario