Qbs 1.21 qurish vositalarini chiqarish va Qt 6.3 sinovini boshlash

Qbs 1.21 qurish vositalarining chiqarilishi e'lon qilindi. Bu Qt kompaniyasi Qbs rivojlanishini davom ettirishdan manfaatdor jamoa tomonidan tayyorlangan loyihani ishlab chiqishni tark etganidan beri sakkizinchi nashr. Qbs qurish uchun Qt bog'liqliklar orasida talab qilinadi, garchi Qbsning o'zi har qanday loyihalarni yig'ishni tashkil qilish uchun mo'ljallangan. Qbs loyihani yaratish skriptlarini aniqlash uchun QML tilining soddalashtirilgan versiyasidan foydalanadi, bu sizga tashqi modullarni ulash, JavaScript funksiyalaridan foydalanish va maxsus qurish qoidalarini yaratish imkonini beruvchi ancha moslashuvchan qurish qoidalarini aniqlash imkonini beradi.

Qbs-da qo'llaniladigan skript tili IDElar tomonidan qurish skriptlarini yaratish va tahlil qilishni avtomatlashtirish uchun moslashtirilgan. Bundan tashqari, Qbs makefayllarni yaratmaydi va o'zi make utiliti kabi vositachilarsiz kompilyatorlar va bog'lovchilarni ishga tushirishni boshqaradi, barcha bog'liqliklarning batafsil grafigi asosida qurish jarayonini optimallashtiradi. Loyihada tuzilma va bog'liqliklar bo'yicha dastlabki ma'lumotlarning mavjudligi bir nechta iplardagi operatsiyalarning bajarilishini samarali parallellashtirishga imkon beradi. Ko'p sonli fayllar va kichik kataloglardan tashkil topgan yirik loyihalar uchun Qbs yordamida qayta qurish samaradorligi bir necha baravar yuqori bo'lishi mumkin - qayta tiklash deyarli bir zumda amalga oshiriladi va ishlab chiquvchini kutishga vaqt sarflamaydi.

Eslatib o'tamiz, 2018 yilda Qt kompaniyasi Qbsni rivojlantirishni to'xtatishga qaror qildi. Qbs qmake o'rnini bosuvchi sifatida ishlab chiqilgan, ammo oxir-oqibat CMake-dan uzoq muddatda Qt uchun asosiy qurilish tizimi sifatida foydalanishga qaror qilindi. Qbs-ning rivojlanishi endi hamjamiyat va manfaatdor ishlab chiquvchilar tomonidan qo'llab-quvvatlanadigan mustaqil loyiha sifatida davom etdi. Qt kompaniyasi infratuzilmasi rivojlanish uchun foydalanishda davom etmoqda.

Qbs 1.21 ning asosiy yangiliklari:

  • Modul provayderlari (modul generatorlari) mexanizmi qayta ishlab chiqildi. Qt va Boost kabi ramkalar uchun endi bir nechta provayderdan foydalanish, yangi qbsModuleProviders xususiyatidan foydalanib qaysi provayderni ishga tushirishni belgilash va turli provayderlar tomonidan yaratilgan modullarni tanlash uchun ustuvorlikni belgilash mumkin. Masalan, siz ikkita "Qt" va "qbspkgconfig" provayderlarini belgilashingiz mumkin, ulardan birinchisi foydalanuvchining Qt o'rnatilishini (qmake qidiruvi orqali) ishlatishga harakat qiladi va agar bunday o'rnatish topilmasa, ikkinchi provayder foydalanishga harakat qiladi. tizim tomonidan taqdim etilgan Qt (pkg-config ga qo'ng'iroq orqali): CppApplication { Bog'liq { nomi: "Qt.core" } fayllar: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Agar so'ralgan modul boshqa provayderlar tomonidan yaratilmagan bo'lsa, pkg-config yordamida modul yaratishga uringan "qayta" modul provayderi o'rniga "qbspkgconfig" provayderi qo'shildi. "Qayta tiklash" dan farqli o'laroq, "qbspkgconfig" pkg-config yordam dasturiga qo'ng'iroq qilish o'rniga ".pc" fayllarini to'g'ridan-to'g'ri o'qish uchun o'rnatilgan C++ kutubxonasidan foydalanadi, bu esa ishni tezlashtirish va qo'ng'iroq paytida mavjud bo'lmagan paketga bog'liqliklar haqida qo'shimcha ma'lumot olish imkonini beradi. pkg-config yordam dasturi.
  • Kelajakdagi C++ standartini belgilaydigan C++ 23 spetsifikatsiyasi uchun qo'shimcha qo'llab-quvvatlash.
  • GCC asboblar to'plami uchun Elbrus E2K arxitekturasini qo'llab-quvvatlash qo'shildi.
  • Android platformasi uchun "--build-id" bog'lovchi bayrog'i uchun standart qiymatni bekor qilish uchun Android.ndk.buildId xususiyati qo'shildi.
  • Capnproto va protobuf modullari qbspkgconfig provayderi tomonidan taqdim etilgan ish vaqtlaridan foydalanish imkoniyatini amalga oshiradi.
  • Fayllarni oʻzgartirish vaqtini hisoblashda millisekundlar oʻtkazib yuborilganligi sababli FreeBSD’dagi manba fayllaridagi oʻzgarishlarni kuzatish bilan bogʻliq muammolar hal qilindi.
  • Conan paket menejeridan foydalanadigan loyihalarni disk raskadrovka qilishni osonlashtirish uchun ConanfileProbe.verbose xususiyati qo'shildi.

Bundan tashqari, til serveri va JsonRpc 6.3 protokollarini qo'llab-quvvatlaydigan yangi "Qt Language Server" modulini amalga oshiradigan Qt 2.0 ramkasining alfa sinovi boshlanishini qayd etishimiz mumkin, Qt Core-ga yangi funktsiyalarning katta qismi qo'shilgan. moduli va Qt Quick Dialogs modulida QML tipidagi MessageDialog amalga oshirildi. Platforma tomonidan taqdim etilgan dialog oynalaridan foydalanish uchun Qt Wayland Compositor moduliga kompozit Qt Shell serveri va shaxsiy foydalanuvchi qobig‘i kengaytmalarini yaratish uchun API qo‘shildi. .

Qt QML moduli qmltc (QML tipidagi kompilyator) kompilyatorining amalga oshirilishini taklif etadi, bu sizga QML ob'ekt tuzilmalarini C++ tilidagi sinflarga kompilyatsiya qilish imkonini beradi. Qt 6.3 ning tijorat foydalanuvchilari uchun Qt Quick Compiler mahsulotini sinovdan o'tkazish boshlandi, u yuqorida aytib o'tilgan QML Type Compilerga qo'shimcha ravishda QML skript kompilyatorini o'z ichiga oladi, bu QML funktsiyalari va ifodalarini C++ kodiga kompilyatsiya qilish imkonini beradi. Qayd etilishicha, Qt Quick Compiler-dan foydalanish QML-ga asoslangan dasturlarning ishlashini mahalliy dasturlarga yaqinlashtiradi; xususan, kengaytmalarni kompilyatsiya qilishda, sharhlangan versiyadan foydalanishga nisbatan ishga tushirish va bajarish vaqti taxminan 30% ga qisqaradi. .

Manba: opennet.ru

a Izoh qo'shish