ืฉื—ืจื•ืจ ื›ืœื™ ื”ื‘ื ื™ื™ื” ืฉืœ Qbs 1.21 ื•ื”ืชื—ืœืช ื‘ื“ื™ืงื•ืช Qt 6.3

ื”ื•ื›ืจื–ื” ืžื”ื“ื•ืจืช ื›ืœื™ ื”ื‘ื ื™ื™ื” ืฉืœ Qbs 1.21. ื–ื”ื• ื”ืžื”ื“ื•ืจื” ื”ืฉืžื™ื ื™ ืžืื– ืฉื—ื‘ืจืช Qt ืขื–ื‘ื” ืืช ืคื™ืชื•ื— ื”ืคืจื•ื™ืงื˜, ืฉื”ื•ื›ื ื” ืขืœ ื™ื“ื™ ื”ืงื”ื™ืœื” ื”ืžืขื•ื ื™ื™ื ืช ืœื”ืžืฉื™ืš ื‘ืคื™ืชื•ื— Qbs. ื›ื“ื™ ืœื‘ื ื•ืช Qbs, Qt ื ื“ืจืฉ ื‘ื™ืŸ ื”ืชืœื•ื™ื•ืช, ืื ื›ื™ Qbs ืขืฆืžื• ื ื•ืขื“ ืœืืจื’ืŸ ืืช ื”ื”ืจื›ื‘ื” ืฉืœ ื›ืœ ืคืจื•ื™ืงื˜. Qbs ืžืฉืชืžืฉืช ื‘ื’ืจืกื” ืคืฉื•ื˜ื” ืฉืœ โ€‹โ€‹ืฉืคืช QML ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืกืงืจื™ืคื˜ื™ื ืœื‘ื ื™ื™ืช ืคืจื•ื™ืงื˜ื™ื, ื”ืžืืคืฉืจืช ืœืš ืœื”ื’ื“ื™ืจ ื›ืœืœื™ ื‘ื ื™ื™ื” ื’ืžื™ืฉื™ื ืœืžื“ื™ ืฉื™ื›ื•ืœื™ื ืœื—ื‘ืจ ืžื•ื“ื•ืœื™ื ื—ื™ืฆื•ื ื™ื™ื, ืœื”ืฉืชืžืฉ ื‘ืคื•ื ืงืฆื™ื•ืช JavaScript ื•ืœื™ืฆื•ืจ ื›ืœืœื™ ื‘ื ื™ื™ื” ืžื•ืชืืžื™ื ืื™ืฉื™ืช.

ืฉืคืช ื”ืกืงืจื™ืคื˜ื™ื ื”ืžืฉืžืฉืช ื‘-Qbs ืžื•ืชืืžืช ืœื”ืคื•ืš ืืช ื”ื™ืฆื™ืจื” ื•ื”ื ื™ืชื•ื— ืฉืœ ืกืงืจื™ืคื˜ื™ื ืœื‘ื ื•ืช ืขืœ ื™ื“ื™ IDEs. ื‘ื ื•ืกืฃ, Qbs ืื™ื ื” ืžื™ื™ืฆืจืช ืงื‘ืฆื™ makefile, ื•ื‘ืขืฆืžื”, ืœืœื ืžืชื•ื•ื›ื™ื ื›ื’ื•ืŸ ืชื•ื›ื ื™ืช ื”ืฉื™ืจื•ืช make, ืฉื•ืœื˜ืช ื‘ื”ืฉืงื” ืฉืœ ืžื”ื“ืจื™ื ื•ืžืงืฉืจื™ื, ืชื•ืš ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ืชื”ืœื™ืš ื”ื‘ื ื™ื™ื” ื‘ื”ืชื‘ืกืก ืขืœ ื’ืจืฃ ืžืคื•ืจื˜ ืฉืœ ื›ืœ ื”ืชืœื•ืช. ื”ื ื•ื›ื—ื•ืช ืฉืœ ื ืชื•ื ื™ื ืจืืฉื•ื ื™ื™ื ืขืœ ื”ืžื‘ื ื” ื•ื”ืชืœื•ืช ื‘ืคืจื•ื™ืงื˜ ืžืืคืฉืจืช ืœืš ืœื”ืงื‘ื™ืœ ื‘ื™ืขื™ืœื•ืช ืืช ื‘ื™ืฆื•ืข ื”ืคืขื•ืœื•ืช ื‘ืžืกืคืจ ืฉืจืฉื•ืจื™ื. ืขื‘ื•ืจ ืคืจื•ื™ืงื˜ื™ื ื’ื“ื•ืœื™ื ื”ืžื•ืจื›ื‘ื™ื ืžืžืกืคืจ ืจื‘ ืฉืœ ืงื‘ืฆื™ื ื•ืชืชื™ ืกืคืจื™ื•ืช, ื‘ื™ืฆื•ืขื™ ื”ื‘ื ื™ื™ื” ืžื—ื“ืฉ ื‘ืืžืฆืขื•ืช Qbs ื™ื›ื•ืœื™ื ืœืขืœื•ืช ืขืœ make ืคื™ ื›ืžื” - ื”ื‘ื ื™ื™ื” ืžื—ื“ืฉ ื”ื™ื ื›ืžืขื˜ ืžื™ื™ื“ื™ืช ื•ืื™ื ื” ื’ื•ืจืžืช ืœืžืคืชื— ืœื”ืงื“ื™ืฉ ื–ืžืŸ ืœื”ืžืชื ื”.

ื ื–ื›ื™ืจ ื›ื™ ื‘ืฉื ืช 2018, ื—ื‘ืจืช Qt ื”ื—ืœื™ื˜ื” ืœื”ืคืกื™ืง ืœืคืชื— Qbs. Qbs ืคื•ืชื—ื” ื›ืชื—ืœื™ืฃ ืœ-qmake, ืืš ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ื”ื•ื—ืœื˜ ืœื”ืฉืชืžืฉ ื‘-CMake ื›ืžืขืจื›ืช ื”ื‘ื ื™ื™ื” ื”ืจืืฉื™ืช ืฉืœ Qt ื‘ื˜ื•ื•ื— ื”ืืจื•ืš. ื”ืคื™ืชื•ื— ืฉืœ Qbs ื ืžืฉืš ื›ืขืช ื›ืคืจื•ื™ืงื˜ ืขืฆืžืื™ ื”ื ืชืžืš ืขืœ ื™ื“ื™ ื›ื•ื—ื•ืช ืงื”ื™ืœืชื™ื™ื ื•ืžืคืชื—ื™ื ืžืชืขื ื™ื™ื ื™ื. ืชืฉืชื™ืช Qt Company ืžืžืฉื™ื›ื” ืœืฉืžืฉ ืœืคื™ืชื•ื—.

ื—ื™ื“ื•ืฉื™ื ืžืจื›ื–ื™ื™ื ื‘-Qbs 1.21:

  • ื”ืžื ื’ื ื•ืŸ ืฉืœ ืกืคืงื™ ื”ืžื•ื“ื•ืœื™ื (ืžื—ื•ืœืœื™ ื”ืžื•ื“ื•ืœื™ื) ืขื•ืฆื‘ ืžื—ื“ืฉ. ืขื‘ื•ืจ ืžืกื’ืจื•ืช ื›ื’ื•ืŸ Qt ื•-Boost, ื ื™ืชืŸ ื›ืขืช ืœื”ืฉืชืžืฉ ื‘ื™ื•ืชืจ ืžืกืคืง ืื—ื“, ืœืฆื™ื™ืŸ ืื™ื–ื” ืกืคืง ืœื”ืคืขื™ืœ ื‘ืืžืฆืขื•ืช ื”ืžืืคื™ื™ืŸ ื”ื—ื“ืฉ qbsModuleProviders, ื•ืœืฆื™ื™ืŸ ืขื“ื™ืคื•ืช ืœื‘ื—ื™ืจืช ืžื•ื“ื•ืœื™ื ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ ืกืคืงื™ื ืฉื•ื ื™ื. ืœื“ื•ื’ืžื”, ื ื™ืชืŸ ืœืฆื™ื™ืŸ ืฉื ื™ ืกืคืงื™ื "Qt" ื•-"qbspkgconfig", ื”ืจืืฉื•ืŸ ืฉื‘ื”ื ื™ื ืกื” ืœื”ืฉืชืžืฉ ื‘ื”ืชืงื ืช Qt ืฉืœ ื”ืžืฉืชืžืฉ (ื‘ืืžืฆืขื•ืช ื—ื™ืคื•ืฉ qmake), ื•ืื ืœื ื ืžืฆื ื”ืชืงื ื” ื›ื–ื•, ื”ืกืคืง ื”ืฉื ื™ ื™ื ืกื” ืœื”ืฉืชืžืฉ ื”-Qt ืฉืกื•ืคืง ืขืœ ื™ื“ื™ ื”ืžืขืจื›ืช (ื‘ืืžืฆืขื•ืช ืงืจื™ืื” ืœ-pkg-config): CppApplication { Depends { name: "Qt.core" } ืงื‘ืฆื™ื: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • ื”ื•ืกื™ืฃ ืืช ืกืคืง "qbspkgconfig", ืฉื”ื—ืœื™ืฃ ืืช ืกืคืง ื”ืžื•ื“ื•ืœ "fallback", ืฉื ื™ืกื” ืœื™ืฆื•ืจ ืžื•ื“ื•ืœ ื‘ืืžืฆืขื•ืช pkg-config ืื ื”ืžื•ื“ื•ืœ ื”ืžื‘ื•ืงืฉ ืœื ื ื•ืฆืจ ืขืœ ื™ื“ื™ ืกืคืงื™ื ืื—ืจื™ื. ืฉืœื ื›ืžื• "fallback", "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), ื”ืžืืคืฉืจ ืœืš ืœื”ื“ืจ ืžื‘ื ื™ ืื•ื‘ื™ื™ืงื˜ QML ืœืžื—ืœืงื•ืช ื‘-C++. ืขื‘ื•ืจ ืžืฉืชืžืฉื™ื ืžืกื—ืจื™ื™ื ืฉืœ Qt 6.3, ื”ื—ืœื” ื‘ื“ื™ืงื” ืฉืœ ื”ืžื•ืฆืจ Qt Quick Compiler, ืืฉืจ ื‘ื ื•ืกืฃ ืœืžื”ื“ืจ ืžืกื•ื’ QML ื”ื ื–ื›ืจ ืœืขื™ืœ, ื›ื•ืœืœ ืืช QML Script Compiler, ื”ืžืืคืฉืจ ืœื”ืจื›ื™ื‘ ืคื•ื ืงืฆื™ื•ืช ื•ื‘ื™ื˜ื•ื™ื™ื QML ืœืชื•ืš ืงื•ื“ C++. ื™ืฆื•ื™ืŸ ื›ื™ ื”ืฉื™ืžื•ืฉ ื‘-Qt Quick Compiler ื™ืงืจื‘ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืชื•ื›ื ื•ืช ืžื‘ื•ืกืกื•ืช QML ืœืชื•ื›ื ื•ืช ืžืงื•ืจื™ื•ืช; ื‘ืคืจื˜, ื‘ืขืช ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ื”ืจื—ื‘ื•ืช, ื™ืฉ ื”ืคื—ืชื” ื‘ื–ืžืŸ ื”ืืชื—ื•ืœ ื•ื”ื‘ื™ืฆื•ืข ื‘ื›-30% ื‘ื”ืฉื•ื•ืื” ืœืฉื™ืžื•ืฉ ื‘ื’ืจืกื” ื”ืžืคื•ืขืฉืช. .

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”