Tso tawm Qbs 1.21 tsim cov cuab yeej thiab pib Qt 6.3 kev sim

Qbs 1.21 tsim cov cuab yeej tso tawm tau tshaj tawm. Qhov no yog qhov thib yim tso tawm txij li Lub Tuam Txhab Qt tawm ntawm txoj kev loj hlob, npaj los ntawm cov zej zog txaus siab los txuas ntxiv txhim kho Qbs. Txhawm rau tsim Qbs, Qt yuav tsum muaj ntawm cov neeg nyob, txawm hais tias Qbs nws tus kheej yog tsim los tsim kev sib dhos ntawm txhua qhov haujlwm. Qbs siv qhov yooj yim version ntawm QML cov lus los txhais cov phiaj xwm tsim cov ntawv, uas tso cai rau koj los txhais cov kev cai tsim kho yooj yim uas tuaj yeem txuas cov qauv sab nraud, siv JavaScript ua haujlwm, thiab tsim cov cai tsim kev cai.

Cov lus scripting siv hauv Qbs yog yoog rau automate tiam thiab parsing ntawm tsim scripts los ntawm IDEs. Tsis tas li ntawd, Qbs tsis tsim makefiles, thiab nws tus kheej, tsis muaj intermediaries xws li cov khoom siv hluav taws xob, tswj lub community launch ntawm compilers thiab linkers, optimizing cov txheej txheem tsim raws li ib tug ncauj lus kom ntxaws daim duab ntawm tag nrho cov dependencies. Lub xub ntiag ntawm cov ntaub ntawv thawj zaug ntawm cov qauv thiab kev vam khom nyob rau hauv qhov project tso cai rau koj mus ua tib zoo parallelize cov kev ua ntawm kev ua hauj lwm nyob rau hauv ob peb threads. Rau cov haujlwm loj uas muaj cov ntaub ntawv ntau thiab cov npe subdirectories, kev tsim kho dua tshiab siv Qbs tuaj yeem ua tau zoo dua los ntawm ob peb zaug - kev tsim kho yuav luag tam sim ntawd thiab tsis ua rau tus tsim tawm siv sijhawm tos.

Nco qab tias xyoo 2018, Lub Tuam Txhab Qt tau txiav txim siab tso tseg kev tsim Qbs. Qbs tau tsim los ua ib qho kev hloov rau qmake, tab sis thaum kawg nws tau txiav txim siab siv CMake ua qhov tseem ceeb tsim rau Qt hauv lub sijhawm ntev. Txoj kev loj hlob ntawm Qbs tau tam sim no txuas ntxiv ua ib txoj haujlwm ywj pheej txhawb nqa los ntawm zej zog cov tub rog thiab cov neeg tsim khoom txaus siab. Lub tuam txhab Qt txuas ntxiv siv rau kev txhim kho.

Cov kev hloov tshiab tseem ceeb hauv Qbs 1.21:

  • Cov txheej txheem ntawm cov chaw muab kev pabcuam (module generators) tau raug kho dua tshiab. Rau lub moj khaum xws li Qt thiab Boost, tam sim no nws muaj peev xwm siv ntau tshaj ib tus neeg muab kev pabcuam, qhia tus kws kho mob twg los khiav siv qbsModuleProviders cov cuab yeej tshiab, thiab qhia qhov tseem ceeb rau kev xaiv cov qauv tsim los ntawm cov chaw muab kev pabcuam sib txawv. Piv txwv li, koj tuaj yeem hais qhia ob lub chaw muab kev pabcuam "Qt" thiab "qbspkgconfig", thawj tus yuav sim siv tus neeg siv Qt installation (ntawm qmake search), thiab yog tias tsis pom qhov kev teeb tsa no, tus kws kho mob thib ob yuav sim siv. lub Qt muab los ntawm lub kaw lus (ntawm kev hu rau pkg-config): CppApplication { Nyob ntawm { lub npe: "Qt.core" } cov ntaub ntawv: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Ntxiv rau "qbspkgconfig" tus neeg zov me nyuam, uas hloov qhov "fallback" module muab kev pabcuam, uas tau sim tsim cov qauv siv pkg-config yog tias qhov kev thov module tsis tsim los ntawm lwm tus neeg muab kev pabcuam. Tsis zoo li "fallback", "qbspkgconfig" es tsis txhob hu rau pkg-config utility siv lub tsev qiv ntawv C ++ built-in los nyeem cov ntaub ntawv ".pc" ncaj qha, uas tso cai rau kev ua haujlwm nrawm thiab tau txais cov ntaub ntawv ntxiv txog pob khoom siv uas tsis muaj thaum hu. lub pkg-config utility.
  • Ntxiv kev txhawb nqa rau C ++ 23 specification, uas txhais lub neej yav tom ntej C ++ tus qauv.
  • Ntxiv kev txhawb nqa rau Elbrus E2K architecture rau GCC cov cuab yeej.
  • Rau lub platform hauv Android, cov cuab yeej Android.ndk.buildId tau ntxiv los hla lub neej ntawd tus nqi rau "--build-id" txuas tus chij.
  • Lub capnproto thiab protobuf modules siv lub peev xwm los siv runtimes muab los ntawm tus kws kho mob qbspkgconfig.
  • Kev daws teeb meem nrog kev hloov pauv hauv cov ntaub ntawv hauv FreeBSD vim yog milliseconds raug poob thaum kwv yees cov ntaub ntawv hloov pauv lub sijhawm.
  • Ntxiv cov cuab yeej ConanfileProbe.verbose kom yooj yim rau kev debug tej yaam num uas siv Conan pob tus thawj tswj.

Tsis tas li ntawd, peb tuaj yeem nco ntsoov qhov pib ntawm kev sim alpha ntawm Qt 6.3 lub moj khaum, uas siv lub module tshiab "Qt Language Server" nrog kev txhawb nqa rau Language Server thiab JsonRpc 2.0 raws tu qauv, ib feem ntau ntawm cov haujlwm tshiab tau ntxiv rau Qt Core. module, thiab QML hom MessageDialog tau siv nyob rau hauv Qt Quick Dialogs module Siv lub dialog boxes muab los ntawm lub platform, ib tug composite Qt Plhaub neeg rau zaub mov thiab ib tug API rau tsim koj tus kheej kev cai plhaub extensions tau ntxiv rau lub Qt Wayland Compositor module. .

Qt QML module muaj qhov kev siv ntawm qmltc (QML hom compiler) compiler, uas tso cai rau koj los sau cov khoom QML rau hauv cov chav kawm hauv C ++. Rau cov neeg siv kev lag luam ntawm Qt 6.3, kev sim ntawm Qt Quick Compiler khoom tau pib, uas, ntxiv rau cov lus hais saum toj no QML Hom Compiler, suav nrog QML Script Compiler, uas tso cai rau koj los sau QML cov haujlwm thiab cov lus qhia rau hauv C ++ code. Nws tau raug sau tseg tias kev siv Qt Quick Compiler yuav coj qhov kev ua tau zoo ntawm QML-raws li cov kev pab cuam los ze zog rau cov kev pab cuam ib txwm muaj; tshwj xeeb tshaj yog thaum sau cov ntawv txuas ntxiv, muaj qhov txo qis hauv kev pib thiab ua tiav lub sijhawm kwv yees li 30% piv rau kev siv cov ntawv txhais lus. .

Tau qhov twg los: opennet.ru

Ntxiv ib saib