Нашри асбобҳои сохтани Qbs 1.21 ва оғози санҷиши Qt 6.3

Нашри асбобҳои сохтани Qbs 1.21 эълон карда шуд. Ин ҳаштумин нашри он аст, ки ширкати Qt аз таҳияи лоиҳа, ки аз ҷониби ҷомеае, ки ба идомаи рушди Qbs манфиатдор аст, омода кардааст. Барои сохтани Qbs, дар байни вобастагӣ Qt лозим аст, гарчанде худи Qbs барои ташкили ҷамъомади ҳама гуна лоиҳаҳо пешбинӣ шудааст. Qbs версияи соддакардашудаи забони QML-ро барои муайян кардани скриптҳои сохтани лоиҳа истифода мебарад, ки ба шумо имкон медиҳад, ки қоидаҳои бунёди одилона чандирро муайян кунед, ки метавонанд модулҳои берунаро пайваст кунанд, функсияҳои JavaScript-ро истифода баранд ва қоидаҳои сохтани фармоиширо эҷод кунанд.

Забони скрипте, ки дар Qbs истифода мешавад, барои автоматикунонии тавлид ва таҳлили скриптҳои сохташуда аз ҷониби IDEҳо мутобиқ карда шудааст. Илова бар ин, Qbs файлҳои makefies тавлид намекунад ва худаш бе миёнаравҳо, ба монанди утилитаи make, оғоз кардани компиляторҳо ва пайванддиҳандаҳоро назорат мекунад ва раванди сохтмонро дар асоси графики муфассали ҳама вобастагӣ оптимизатсия мекунад. Мавҷудияти маълумоти ибтидоӣ дар бораи сохтор ва вобастагӣ дар лоиҳа ба шумо имкон медиҳад, ки иҷрои амалҳоро дар якчанд ришта ба таври муассир параллелизатсия кунед. Барои лоиҳаҳои калон, ки аз шумораи зиёди файлҳо ва зеркаталогҳо иборатанд, иҷрои барқарорсозии бо истифода аз Qbs метавонад аз якчанд маротиба бартарӣ дошта бошад - барқарорсозӣ қариб як лаҳза аст ва таҳиякунандаро маҷбур намекунад, ки вақти интизориро сарф кунад.

Ёдовар мешавем, ки дар соли 2018 ширкати Qt тасмим гирифт, ки коркарди Qbs-ро бас кунад. Qbs ҳамчун ивазкунандаи qmake таҳия карда шуд, аммо дар ниҳоят тасмим гирифта шуд, ки CMake ҳамчун системаи асосии сохтмон барои Qt дар дарозмуддат истифода шавад. Таҳияи Qbs ҳоло ҳамчун лоиҳаи мустақил идома дорад, ки аз ҷониби ҷомеа ва таҳиягарони манфиатдор дастгирӣ карда мешавад. Инфрасохтори ширкати Qt барои рушд истифода мешавад.

Навовариҳои асосӣ дар Qbs 1.21:

  • Механизми провайдерҳои модул (генераторҳои модул) аз нав тарҳрезӣ шудааст. Барои чаҳорчӯбаҳое, ба монанди Qt ва Boost, ҳоло имкон дорад, ки зиёда аз як провайдерро истифода баред, муайян кунед, ки кадом провайдер бо истифода аз амволи нави qbsModuleProviders кор кунад ва афзалияти интихоби модулҳои аз ҷониби провайдерҳои гуногун тавлидшуда муайян карда шавад. Масалан, шумо метавонед ду провайдери "Qt" ва "qbspkgconfig" -ро муайян кунед, ки аввалини онҳо кӯшиш мекунад насби Qt-и корбарро истифода барад (тавассути ҷустуҷӯи qmake), ва агар чунин насб пайдо нашавад, провайдери дуюм кӯшиш мекунад, ки истифода Qt аз тарафи система (тавассути занг ба pkg-config): CppApplication { Вобаста {ном: "Qt.core" } файлҳо: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Провайдери "qbspkgconfig" илова карда шуд, ки провайдери модули "fallback"-ро иваз кард, ки кӯшиши тавлиди модулро бо истифода аз pkg-config кард, агар модули дархостшуда аз ҷониби провайдерҳои дигар тавлид нашавад. Баръакси "бозгашт", "qbspkgconfig" ба ҷои занг задан ба утилитаи pkg-config китобхонаи дарунсохтаи C++-ро барои мутолиаи мустақими файлҳои ".pc" истифода мебарад, ки имкон медиҳад суръати кор ва гирифтани маълумоти иловагӣ дар бораи вобастагии бастаҳо, ки ҳангоми занг задан дастрас нест утилитаи pkg-config.
  • Дастгирии иловагӣ барои мушаххасоти C++23, ки стандарти ояндаи C++-ро муайян мекунад.
  • Дастгирии иловагии меъмории Elbrus E2K барои абзори GCC.
  • Барои платформаи Android, амволи Android.ndk.buildId илова карда шудааст, то арзиши пешфарзро барои парчами пайвандкунандаи "--build-id" бекор кунад.
  • Модулҳои capnproto ва protobuf қобилияти истифодаи вақтҳои кореро, ки аз ҷониби провайдери qbspkgconfig пешниҳод шудаанд, амалӣ мекунанд.
  • Масъалаҳои пайгирии тағирот дар файлҳои манбаъ дар FreeBSD аз сабаби канда шудани миллисонияҳо ҳангоми ҳисоб кардани вақти тағир додани файл ҳал карда шуданд.
  • Хосияти ConanfileProbe.verbose илова карда шуд, то ислоҳи лоиҳаҳоеро, ки менеҷери бастаи Conan истифода мебаранд, осонтар кунад.

Илова бар ин, мо метавонем оғози санҷиши алфа дар чаҳорчӯбаи Qt 6.3-ро қайд кунем, ки модули нави "Qt Language Server" -ро бо дастгирии протоколҳои Language Server ва JsonRpc 2.0 амалӣ мекунад, қисми зиёди функсияҳои нав ба Qt Core илова карда шудаанд. модул, ва навъи QML MessageDialog дар модули Qt Quick Dialogs амалӣ шудааст Барои истифодаи қуттиҳои муколамаи аз ҷониби платформа пешниҳодшуда, сервери таркибии Qt Shell ва API барои эҷоди васеъшавии қабати корбарии худ ба модули Qt Wayland Compositor илова карда шудааст. .

Модули Qt QML пешниҳод татбиқи qmltc (навъи QML compiler) compiler, ки ба шумо имкон медиҳад, ки ба тартиб сохторҳои объекти QML ба дарсҳо дар C ++. Барои корбарони тиҷоратии Qt 6.3 озмоиши маҳсулоти Qt Quick Compiler оғоз шуд, ки ба ғайр аз Compiler Type QML дар боло зикршуда, компилятори QML Script-ро дар бар мегирад, ки ба шумо имкон медиҳад функсияҳо ва ифодаҳои QML-ро ба рамзи C++ тартиб диҳед. Қайд карда мешавад, ки истифодаи Qt Quick Compiler иҷрои барномаҳои дар асоси QML-ро ба барномаҳои маҳаллӣ наздиктар мекунад; аз ҷумла, ҳангоми тартиб додани васеъшавӣ, дар муқоиса бо истифодаи версияи тафсиршуда вақти оғоз ва иҷро тақрибан 30% кам мешавад. .

Манбаъ: opennet.ru

Илова Эзоҳ