ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° Π΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½Π°Ρ‚Π° вСрсия Π½Π° инструмСнтитС Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Qbs

Qt компания ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎ инструмСнти Π·Π° сглобяванС Qbs 1.13 (Qt Build Suite). Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΉ-Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° Qbs, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΎΡ‚ Qt Company. НСка си спомним ΠΊΠ°ΠΊΠ²ΠΎ сС случи ΠΏΠΎ-Ρ€Π°Π½ΠΎ ΠΏΡ€ΠΈΠ΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° спиранС Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Qbs. Qbs бСшС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΊΠ°Ρ‚ΠΎ замСститСл Π½Π° qmake, Π½ΠΎ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° CMake ΠΊΠ°Ρ‚ΠΎ основна систСма Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Qt Π² Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π΅Π½ ΠΏΠ»Π°Π½.

Π’ Π±Π»ΠΈΠ·ΠΊΠΎ Π±ΡŠΠ΄Π΅Ρ‰Π΅ сС ΠΎΡ‡Π°ΠΊΠ²Π° Π΄Π° бъдС създадСн нСзависим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π·Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Qbs ΠΎΡ‚ общността, чиято съдба Ρ‰Π΅ зависи ΠΎΡ‚ интСрСса към Π²ΡŠΠΏΡ€ΠΎΡΠ½Π°Ρ‚Π° систСма Π·Π° сглобяванС ΠΎΡ‚ нСзависими Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ. Qt Company спира Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Qbs ΠΏΠΎΡ€Π°Π΄ΠΈ нСобходимостта ΠΎΡ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ инвСстиции ΠΈ високи Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π·Π° популяризиранС Π½Π° Qbs.

НСка си ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Π΅ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Qbs, Qt Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊΠ°Ρ‚ΠΎ зависимост, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ самият Qbs Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° сглобяванСто Π½Π° всякакви ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. Qbs ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° опростСна вСрсия Π½Π° Π΅Π·ΠΈΠΊΠ° QML Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° скриптовС Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ доста гъвкави ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΡΠ²ΡŠΡ€Π·Π²Π°Ρ‚ външни ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° JavaScript ΠΈ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ пСрсонализирани ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅.
Qbs Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° make-Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ нСзависимо ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° стартиранСто Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ ΠΈ Π»ΠΈΠ½ΠΊΠ΅Ρ€ΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π° процСса Π½Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ въз основа Π½Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° всички зависимости. НаличиСто Π½Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° структурата ΠΈ зависимоститС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²ΠΈ позволява Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π΄Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² няколко нишки.

ΠšΠ»ΡŽΡ‡ΠΎΠ²ΠΈ ΠΈΠ½ΠΎΠ²Π°Ρ†ΠΈΠΈ Π² Qbs 1.13:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° pkg-config ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ ΡΡŠΡ‰ΠΈΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° зависимости, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Qbs ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. НапримСр, Π°ΠΊΠΎ систСмата ΠΈΠΌΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° OpenSSL, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° pkg-config, Π·Π° Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π² Qbs ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, просто Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ β€žΠ—Π°Π²ΠΈΡΠΈ { ΠΈΠΌΠ΅: β€žopensslβ€œ }β€œ;
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅ Π½Π° Π½Π°Π»ΠΈΡ‡Π½ΠΈ Qt ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Π’Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ» с ΠΏΡŠΡ‚Π΅ΠΊΠΈ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° setup-qt; всички Qt ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, посочСни Π² зависимости, Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са инструмСнти Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° броя Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° асСмблиранС, изпълнявани ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. НапримСр ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ създава голямо I/O Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ ΠΈ консумира Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ количСство RAM, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π»ΠΈΠ½ΠΊΠ΅Ρ€ΡŠΡ‚ изисква Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ настройки Π·Π° стартиранС ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π°. Π’Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π·Π°Π΄Π°Π²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ настройки с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€œqbs β€”job-limits linker:2,compiler:8”;
  • НаправСни са ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² скриптовия Π΅Π·ΠΈΠΊ. ΠŸΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Ρ‚, Π±Π΅Π· Π΄Π° сС ΡƒΠΊΠ°Π·Π²Π° Ρ„Π°ΠΉΠ» Π·Π° ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅, ΠΈ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°Ρ‚Π° β€žimport qbsβ€œ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ свойства install ΠΈ installDir към Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Application, DynamicLibrary ΠΈ StaticLibrary Π·Π° ΠΏΠΎ-ΡƒΠ΄ΠΎΠ±Π½ΠΎ инсталиранС Π½Π° изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° рСкурсивно сканиранС Π½Π° скриптовС Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅
    GNU Π»ΠΈΠ½ΠΊΠ΅Ρ€;

  • Π—Π° C++, свойството cpp.linkerVariant Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΎ, Π·Π° Π΄Π° ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π»ΠΈΠ½ΠΊΠ΅Ρ€ΠΈΡ‚Π΅ ld.gold, ld.bfd ΠΈΠ»ΠΈ lld;
  • Qt въвСТда свойството Qt.core.enableBigResources Π·Π° създаванС Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Qt рСсурси
  • ВмСсто остарСлия Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ AndroidApk сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° общият Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» Π·Π° създаванС Π½Π° тСстовС Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° автотСст;
  • Π”ΠΎΠ±Π°Π²Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ» Π·Π° тСкстови шаблони с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° QMAKE_SUBSTITUTES Π² qmake;
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π½ΠΈΡ‚Π΅ Π±ΡƒΡ„Π΅Ρ€ΠΈ Π·Π° C++ ΠΈ Objective-C.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€