Kutulutsidwa kwa zida zomangira za Qbs 1.21 kwatulutsidwa. Iyi ndi nthawi yachisanu ndi chitatu kuyambira pomwe Qt Company idachoka pakupanga pulojekitiyi. Idakonzedwa ndi anthu ammudzi omwe akufuna kupitiliza kupanga Qbs. Qbs imafuna Qt ngati njira yodalira pakumanga, ngakhale Qbs yokha idapangidwa kuti igwire ntchito yomanga pulojekiti iliyonse. Qbs imagwiritsa ntchito mtundu wosavuta wa chilankhulo cha QML kuti ifotokoze zolemba zomangira pulojekiti, zomwe zimalola kutanthauzira malamulo omangira osinthasintha omwe angaphatikizepo ma module akunja, kugwiritsa ntchito ntchito za JavaScript, ndikupanga malamulo omangira apadera.
Chilankhulo cholembera chomwe chimagwiritsidwa ntchito mu Qbs chimasinthidwa kuti chizitha kupanga ndi kugawa zolemba ndi malo ophatikizika achitukuko. Kuphatikiza apo, Qbs sipanga makefiles, koma yokha, popanda oyimira pakati monga make utility, amawongolera kukhazikitsidwa kwa ma compilers ndi olumikizira, kukhathamiritsa njira yomanga potengera chithunzi chatsatanetsatane cha zodalira zonse. Kukhalapo kwa chidziwitso choyambirira chokhudza kapangidwe kake ndi kudalira kwa polojekiti kumakupatsani mwayi wofananira bwino ndi magwiridwe antchito mumizere ingapo. Kwa ma projekiti akuluakulu okhala ndi mafayilo ambiri ndi ma subdirectories, ntchito yomanganso pogwiritsa ntchito Qbs imatha kufulumira kangapo kuposa kupanga - kumanganso kumachitika nthawi yomweyo ndipo sikukakamiza wopanga kuwononga nthawi kudikirira.
Tikumbukire kuti mu 2018 Qt Company idaganiza zosiya kupanga ma Qbs. Qbs idapangidwa m'malo mwa qmake, koma pamapeto pake idaganiza zogwiritsa ntchito CMake ngati njira yayikulu yopangira Qt pakapita nthawi. Kupanga ma Qbs tsopano kwapitilira ngati projekiti yodziyimira payokha yothandizidwa ndi anthu ammudzi komanso okonda chidwi. Zomangamanga za Qt Company zikupitilizabe kugwiritsidwa ntchito pachitukuko.
Zatsopano zazikulu mu Qbs 1.21:
- Njira yogwiritsira ntchito opereka ma module (opanga ma module) yasinthidwanso. Pa ma framework monga Qt ndi Boost, tsopano mutha kugwiritsa ntchito opereka oposa m'modzi, tchulani opereka omwe muyenera kugwiritsa ntchito pogwiritsa ntchito qbsModuleProviders property yatsopano, ndikutchula chofunikira posankha ma module opangidwa ndi opereka osiyanasiyana. Mwachitsanzo, mutha kutchula opereka awiri, "Qt" ndi "qbspkgconfig," yoyamba yomwe idzayesa kugwiritsa ntchito Qt installation ya wogwiritsa ntchito (kudzera mu qmake search), ndipo ngati kukhazikitsa kotere sikupezeka, yachiwiri idzayesa kugwiritsa ntchito Qt yoperekedwa ndi system (kudzera mu pkg-config call): CppApplication { Depends { name: "Qt.core" } files: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
- Wopereka "qbspkgconfig" wawonjezedwa, m'malo mwa wopereka "fallback" module, yemwe anayesa kupanga module pogwiritsa ntchito pkg-config ngati module yomwe ikukambidwayo sinapangidwe ndi opereka ena. Mosiyana ndi "fallback," "qbspkgconfig" imagwiritsa ntchito laibulale ya C++ yomangidwa mkati kuti iwerenge mwachindunji mafayilo a .pc m'malo moyimbira pkg-config utility. Izi zimafulumizitsa ntchito ndipo zimapereka zambiri zowonjezera zokhudza kudalira phukusi komwe sikupezeka poyimbira pkg-config.
- Thandizo lowonjezeredwa la C++23 specifications, lomwe limafotokoza muyezo wamtsogolo wa C++.
- Chithandizo cha kapangidwe ka Elbrus E2K chawonjezedwa ku chida cha GCC.
- Za nsanja Android katundu wawonjezedwa Android.ndk.buildId, yomwe imakulolani kuti musinthe mtengo wokhazikika wa mbendera ya linker ya "--build-id".
- Ma module a capnproto ndi protobuf tsopano akuthandizira pogwiritsa ntchito nthawi yogwirira ntchito yoperekedwa ndi wopereka qbspkgconfig.
- Takonza mavuto okhudzana ndi kusintha kwa ma code oyambira pa nsanja ya FreeBSD chifukwa cha ma millisecond omwe amasiyidwa poyesa nthawi yosinthira mafayilo.
- Yawonjezera katundu wa ConanfileProbe.verbose kuti zikhale zosavuta kukonza zolakwika pa mapulojekiti omwe amagwiritsa ntchito Conan package manager.
Kuphatikiza apo, titha kuwona kuyamba kwa kuyesa kwa alpha kwa Qt 6.3 framework, yomwe imagwiritsa ntchito gawo latsopano la "Qt Language Server" ndi chithandizo cha Language Server ndi ma protocol a JsonRpc 2.0, gawo lalikulu la ntchito zatsopano zawonjezedwa ku module ya Qt Core, mtundu wa QML MessageDialog wayikidwa mu module ya Qt Quick Dialogs yogwiritsira ntchito mabokosi olumikizirana operekedwa ndi nsanjayi, ndipo chophatikiza chawonjezedwa ku module ya Qt Wayland Compositor. Seva Qt Shell ndi API yopangira zowonjezera zanu za shell.
Qt QML module imapereka kukhazikitsa qmltc (QML type compiler), yomwe imasonkhanitsa zinthu za QML m'magulu a C++. Ogwiritsa ntchito malonda a Qt 6.3 ayamba kuyesa Qt Quick Compiler, yomwe, kuwonjezera pa QML Type Compiler yomwe yatchulidwa pamwambapa, ikuphatikiza QML Script Compiler, yomwe imasonkhanitsa ntchito ndi mawu a QML mu code ya C++. Kugwiritsa ntchito Qt Quick Compiler kumadziwika kuti kumathandizira magwiridwe antchito a mapulogalamu ozikidwa pa QML kukhala ofanana ndi mapulogalamu wamba. Makamaka, posonkhanitsa zowonjezera, nthawi yoyambira ndi yogwirira ntchito imachepetsedwa ndi pafupifupi 30% poyerekeza ndi mtundu womasuliridwa.
Source: opennet.ru
