ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Qt Company ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ (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, Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ βDepends { name: Β«opensslΒ» }β;
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Qt. ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π²Π΅ΡΠ΅ Π½Π΅ ΠΈΠΌ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΏΡΠΎΡΠΈΠ» Ρ ΠΏΡΡΠΈΡΠ° ΠΊΡΠΌ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° setup-qt, Π²ΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Qt, ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΡΠ΅ Π±ΡΠ΄Π°Ρ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ;
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π±ΡΠΎΡ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ ΡΠ±ΠΎΡΡΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΅ΠΊΠΈΠΏΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π³ΠΎΠ»ΡΠΌΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΠΎΠ±Π΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π·Π°ΡΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΡ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ°. ΠΡΠ΄Π΅Π»Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Β«qbs βjob-limits linker:2,compiler:8Β»;
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π΅Π·ΠΈΠΊΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π±Π΅Π· ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»-Π·Π°Π³Π»ΡΡΠΊΠ° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄Π°, Π° Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° Β«import qbsΒ». Π Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ΅ Application, DynamicLibrary ΠΈ StaticLibrary ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° install ΠΈ installDir Π·Π° ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ°
GNU linker; - ΠΠ° Π΅Π·ΠΈΠΊΠ° C++ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ cpp.linkerVariant Π·Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΡΠΈ ld.gold, ld.bfd ΠΈΠ»ΠΈ lld;
- ΠΠ° Qt Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Qt.core.enableBigResources Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ΅ΡΡΡΡΠΈ Qt
- ΠΠΌΠ΅ΡΡΠΎ ΠΎΡΡΠ°ΡΡΠ» Π΅Π»Π΅ΠΌΠ΅Π½Ρ AndroidApk ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΠ±Ρ ΡΠΈΠΏ Application;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠΎΠ΄ΡΠ» Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΠ²Π΅ Π½Π° Π±Π°Π·Π° autotest;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΌΠΎΠ΄ΡΠ» texttemplate Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° QMAKE_SUBSTITUTES Π² qmake;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° Protocol Buffers Π·Π° C++ ΠΈ Objective-C.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
