Qbs 1.20 ์กฐ๋ฆฝ ๋„๊ตฌ ๋ฆด๋ฆฌ์Šค

Qbs 1.20 ๋นŒ๋“œ ๋„๊ตฌ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Qt Company๊ฐ€ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์„ ๋– ๋‚œ ์ดํ›„ Qbs์˜ ์ง€์†์ ์ธ ๊ฐœ๋ฐœ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ค€๋น„ํ•œ ์ผ๊ณฑ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค. Qbs๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด ์ข…์†์„ฑ ์‚ฌ์ด์— Qt๊ฐ€ ํ•„์š”ํ•˜์ง€๋งŒ Qbs ์ž์ฒด๋Š” ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์˜ ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Qbs๋Š” ๋‹จ์ˆœํ™”๋œ ๋ฒ„์ „์˜ QML ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ๋ชจ๋“ˆ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ  JavaScript ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž„์˜์˜ ๋นŒ๋“œ ๊ทœ์น™์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋งค์šฐ ์œ ์—ฐํ•œ ๋นŒ๋“œ ๊ทœ์น™์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Qbs์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด๋Š” IDE์—์„œ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ์˜ ์ƒ์„ฑ ๋ฐ ๊ตฌ๋ฌธ ๋ถ„์„์„ ์ž๋™ํ™”ํ•˜๋„๋ก ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Qbs๋Š” make ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์ง€ ์•Š์œผ๋ฉฐ make ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๊ฐ™์€ ์ค‘๊ฐœ์ž ์—†์ด ์ž์ฒด์ ์œผ๋กœ ์ปดํŒŒ์ผ๋Ÿฌ ๋ฐ ๋ง์ปค์˜ ์‹œ์ž‘์„ ์ œ์–ดํ•˜์—ฌ ๋ชจ๋“  ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ตฌ์กฐ ๋ฐ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ์—์„œ ์ž‘์—… ์‹คํ–‰์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ณ‘๋ ฌํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์ˆ˜์˜ ํŒŒ์ผ๊ณผ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋œ ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ Qbs๋ฅผ ์‚ฌ์šฉํ•œ ์žฌ๊ตฌ์ถ• ์„ฑ๋Šฅ์€ make๋ณด๋‹ค ๋ช‡ ๋ฐฐ๋‚˜ ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค. ์žฌ๊ตฌ์ถ•์€ ๊ฑฐ์˜ ์ฆ‰๊ฐ์ ์ด๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋Œ€๊ธฐํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

2018๋…„์— Qt Company๋Š” Qbs ๊ฐœ๋ฐœ์„ ์ค‘๋‹จํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Qbs๋Š” qmake๋ฅผ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์ง€๋งŒ ๊ถ๊ทน์ ์œผ๋กœ CMake๋ฅผ ์žฅ๊ธฐ์ ์œผ๋กœ Qt์˜ ์ฃผ์š” ๋นŒ๋“œ ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Qbs์˜ ๊ฐœ๋ฐœ์€ ์ด์ œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์„ธ๋ ฅ๊ณผ ๊ด€์‹ฌ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง€์›ํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ํ”„๋กœ์ ํŠธ๋กœ ๊ณ„์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Qt Company ์ธํ”„๋ผ๋Š” ๊ฐœ๋ฐœ์— ๊ณ„์† ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Qbs 1.20์˜ ์ฃผ์š” ํ˜์‹ :

  • Qt 6 ๋ถ„๊ธฐ๋ฅผ ํฌํ•จํ•˜์—ฌ Qt 6.2 ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์ „์ฒด ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋” ์ด์ƒ Qt 17์—์„œ ์ œ๊ณต๋˜์ง€ ์•Š๊ณ  ํ˜„์žฌ Qbs์— ํฌํ•จ๋œ QtScript ๋ชจ๋“ˆ์ด ์—…๋ฐ์ดํŠธ๋˜์–ด C++6๋กœ ํฌํŒ…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ์†์„ฑ ์ง‘ํ•ฉ์ด ์žˆ๋Š” ์–ด์…ˆ๋ธ”๋ฆฌ์˜ ๊ฒฝ์šฐ ์ด์ „ ์†์„ฑ ๋ชฉ๋ก์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ์ „์ฒด ํ”„๋กœํ•„์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ด qbs-config์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ณ„๋„๋กœ ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ฌ๋Ÿฌ Android SDK๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์‹œ์ž‘ ์†๋„๊ฐ€ ํฌ๊ฒŒ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.
  • FreeBSD ํ”Œ๋žซํผ์—์„œ ํŒŒ์ผ ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„์„ ์ž˜๋ชป ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ–ฅ์ƒ๋œ C/C++ ์ง€์›. COSMIC ์ปดํŒŒ์ผ๋Ÿฌ(COLDFIRE/M68K, HCS08, HCS12, STM8 ๋ฐ STM32) ๋ฐ Digital Mars ๋„๊ตฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MSVC ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๊ฒฝ์šฐ cpp.enableCxxLanguageMacro ์†์„ฑ์ด ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ "c++20" ๊ฐ’์— ๋Œ€ํ•œ ์ง€์›์ด cpp.cxxLanguageVersion์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Android ํ”Œ๋žซํผ์˜ ๊ฒฝ์šฐ Android.sdk.dexCompilerName ์†์„ฑ์„ ์„ค์ •ํ•˜์—ฌ dx ๋Œ€์‹  d8 dex ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Android์—์„œ Qt ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ธ Ministro๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ ์ƒ์„ฑ์„ ์œ„ํ•œ ํˆดํ‚ท์ด aapt์—์„œ aapt2(Android ์ž์‚ฐ ํŒจํ‚ค์ง• ๋„๊ตฌ)๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€