Kutulutsidwa kwa zida zomangira za Qbs 1.21 ndikuyamba kuyesa kwa Qt 6.3

Kutulutsidwa kwa zida za Qbs 1.21 kwalengezedwa. Aka ndi kachisanu ndi chitatu kutulutsidwa kuchokera pamene kampani ya Qt inasiya ntchito yokonza pulojekitiyi, yokonzedwa ndi anthu omwe ali ndi chidwi chofuna kupitiliza chitukuko cha Qbs. Kuti mupange ma Qbs, Qt ikufunika pakati pa zodalira, ngakhale Qbs yokha idapangidwa kuti ikonzekere kusonkhana kwa projekiti iliyonse. Ma Qbs amagwiritsa ntchito mtundu wosavuta wa chilankhulo cha QML kutanthauzira zolemba zama projekiti, zomwe zimakupatsani mwayi wofotokozera malamulo osinthika omwe amatha kulumikiza ma module akunja, kugwiritsa ntchito JavaScript, ndikupanga malamulo omangirira.

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 ya opereka ma module (majenereta a module) yakonzedwanso. Pazifukwa monga Qt ndi Boost, tsopano ndi kotheka kugwiritsa ntchito operekera oposa mmodzi, tchulani omwe angagwiritse ntchito pogwiritsira ntchito katundu watsopano wa qbsModuleProviders, ndikutchula chofunika kwambiri posankha ma modules opangidwa ndi opereka osiyanasiyana. Mwachitsanzo, mutha kufotokozera opereka awiri "Qt" ndi "qbspkgconfig", woyamba omwe adzayesa kugwiritsa ntchito kuyika kwa Qt (kudzera pakusaka kwa qmake), ndipo ngati palibe kuyika koteroko, wopereka wachiwiri adzayesa kugwiritsa ntchito. Qt yoperekedwa ndi dongosolo (kudzera mwa kuyitana kwa pkg-config) : CppApplication {Zimadalira {dzina: "Qt.core"} mafayilo: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Anawonjezera wothandizira "qbspkgconfig", omwe adalowa m'malo mwa "fallback" module provider, yomwe inayesa kupanga module pogwiritsa ntchito pkg-config ngati gawo lofunsidwa silinapangidwe ndi opereka ena. Mosiyana ndi "fallback", "qbspkgconfig" m'malo moyitana pkg-config utility imagwiritsa ntchito laibulale ya C ++ yomangidwa kuti iwerenge mwachindunji ".pc" mafayilo, omwe amafulumizitsa ntchito ndikupereka zambiri zokhudzana ndi kudalira phukusi zomwe sizikupezeka poyitana foni. pkg-config ntchito.
  • Thandizo lowonjezera la C++23, lomwe limatanthawuza tsogolo la C ++.
  • Thandizo lowonjezera pamapangidwe a Elbrus E2K a zida za GCC.
  • Pa nsanja ya Android, katundu wa Android.ndk.buildId wawonjezedwa kuti achotse mtengo wokhazikika wa mbendera yolumikizira "--build-id".
  • Ma module a capnproto ndi protobuf amagwiritsa ntchito mphamvu yogwiritsira ntchito nthawi yoperekedwa ndi qbspkgconfig provider.
  • Kuthana ndi zovuta pakutsata kusintha kwamafayilo amtundu wa FreeBSD chifukwa cha ma milliseconds omwe amatsitsidwa poyerekeza nthawi zosintha mafayilo.
  • Anawonjezera katundu wa ConanfileProbe.verbose kuti zikhale zosavuta kuthetsa mapulojekiti omwe amagwiritsa ntchito phukusi la Conan.

Kuonjezera apo, tikhoza kuzindikira chiyambi cha kuyesa kwa alpha kwa Qt 6.3 framework, yomwe imagwiritsa ntchito gawo latsopano la "Qt Language Server" mothandizidwa ndi Language Server ndi JsonRpc 2.0 protocol, gawo lalikulu la ntchito zatsopano zawonjezeredwa ku Qt Core. module, ndipo mtundu wa QML MessageDialog wakhazikitsidwa mu gawo la Qt Quick Dialogs Kuti mugwiritse ntchito mabokosi a zokambirana omwe aperekedwa ndi nsanja, seva ya Qt Shell yophatikizika ndi API yopangira zowonjezera zanu zachipolopolo zawonjezeredwa ku gawo la Qt Wayland Compositor .

Gawo la Qt QML limapereka kukhazikitsa kwa compiler ya qmltc (QML type compiler), yomwe imakupatsani mwayi wophatikiza zinthu za QML m'makalasi mu C++. Kwa ogwiritsa ntchito malonda a Qt 6.3, kuyesa kwa Qt Quick Compiler kwayamba, komwe, kuwonjezera pa QML Type Compiler yomwe tatchula pamwambapa, imaphatikizapo QML Script Compiler, yomwe imakulolani kuti muphatikize ntchito ndi mawu a QML mu code C ++. Zadziwika kuti kugwiritsa ntchito Qt Quick Compiler kudzabweretsa magwiridwe antchito a QML kufupi ndi mapulogalamu awo; makamaka, popanga zowonjezera, nthawi yoyambira ndi yochepera imachepetsedwa pafupifupi 30% poyerekeza ndi kugwiritsa ntchito mtundu wotanthauziridwa. .

Source: opennet.ru

Kuwonjezera ndemanga