๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์‹œ์Šคํ…œ๊ฐœ๋ฐœ/QT

[QT] linux deploy (์šฐ๋ถ„ํˆฌ์—์„œ ๋ฐฐํฌํ•˜๊ธฐ 20.04LTS 64bit)

by ์ด๋…ธํ‚ค_ 2020. 9. 14.

1. ๋ฐ์Šคํฌํƒ‘ ํ™˜๊ฒฝ

- ์šฐ๋ถ„ํˆฌ 20.04 LTS 64bit

- QT creator์—์„œ ์†Œ์Šค ๋นŒ๋“œ ์™„๋ฃŒ(๋ฆด๋ฆฌ์ฆˆ๋กœ)

 

2.QT deploy ๋„๊ตฌ ์„ค์น˜(CQtDeployer)

2.1 CQtDeployer ๊ณต์‹ ๊นƒ

https://github.com/QuasarApp/CQtDeployer

 

QuasarApp/CQtDeployer

This project is used to deploy applications written using QML, qt or other ะก / ะก++ frameworks. - QuasarApp/CQtDeployer

github.com

github.com/QuasarApp/CQtDeployer/wiki/Build-and-Install

 

QuasarApp/CQtDeployer

This project is used to deploy applications written using QML, qt or other ะก / ะก++ frameworks. - QuasarApp/CQtDeployer

github.com

๋ฆฌ๋ˆ…์Šค/์œˆ๋„์šฐ/๋นŒ๋“œ์—†์ด์„ค์น˜ ์ด 3๊ฐ€์ง€๋ฅผ ์ง€์›ํ•˜๋Š”๋ฐ 'Installation without building'์„ ์„ ํƒํ–ˆ๋‹ค.

"Get it from the snap store" ๋ฒ„ํŠผ์„ ํด๋ฆญ

install ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด cli๋กœ ์„ค์น˜ ๋ช…๋ น์–ด๊ฐ€ ๋‚˜์˜จ๋‹ค.

sudo snap install cqtdeployer ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ํ•˜์—ฌ cqtdeployer๋ฅผ ์„ค์น˜ํ•œ๋‹ค.

 

3. ์‹คํ–‰

3.1 ํ”„๋กœ๊ทธ๋žจ์ด ๋ฆด๋ฆฌ์ฆˆ ๋œ๊ณณ์œผ๋กœ ์ด๋™

cd build-Drone-Desktop_Qt_5_12_2_GCC_64bit-Release/

 

3.2 CQtDeployer๋กœ ๋ฐฐํฌ๋ฒ„์ „ ๋งŒ๋“ค๊ธฐ

cqtdeployer -bin Drone  (์—ฌ๊ธฐ์„œ Drone์€ ์‹ค์ œ ๋ฆด๋ฆฌ์ฆˆ๋œ ํŒŒ์ผ๋ช…์ด๋‹ค.)

 

Info: Deploy ...
Info: flag targetDir not used. use default target dir :/home/drone-gcs/projects/build-Drone-Desktop_Qt_5_12_2_GCC_64bit-Release/DistributionKit
Info: target deploy started!!
Info: copy :/home/drone-gcs/projects/build-Drone-Desktop_Qt_5_12_2_GCC_64bit-Release/Drone
Info: platform : libqvnc is disabled
Info: platform : libqwebgl is disabled
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/bearer/libqconnmanbearer.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/bearer/libqgenericbearer.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/bearer/libqnmbearer.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/iconengines/libqsvgicon.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqgif.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqicns.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqico.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqjpeg.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqsvg.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqtga.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqtiff.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqwbmp.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/imageformats/libqwebp.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqeglfs.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqlinuxfb.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqminimal.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqminimalegl.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqoffscreen.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqwayland-egl.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqwayland-generic.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqwayland-xcomposite-egl.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqwayland-xcomposite-glx.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platforms/libqxcb.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platformthemes/libqgtk3.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/platformthemes/libqxdgdesktopportal.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/wayland-shell-integration/libivi-shell.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/wayland-shell-integration/libwl-shell.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/wayland-shell-integration/libxdg-shell-v5.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/wayland-shell-integration/libxdg-shell-v6.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/wayland-shell-integration/libxdg-shell.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/xcbglintegrations/libqxcb-egl-integration.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/plugins/xcbglintegrations/libqxcb-glx-integration.so
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5WaylandClient.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5Network.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5Gui.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5EglFSDeviceIntegration.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5Core.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5Widgets.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libicui18n.so.56
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libicudata.so.56
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5XcbQpa.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5DBus.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libicuuc.so.56
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/lib/libQt5Svg.so.5
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_ar.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_bg.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_ca.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_cs.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_da.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_de.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_en.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_es.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_fi.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_fr.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_gd.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_he.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_hu.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_it.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_ja.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_ko.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_lv.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_pl.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_ru.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_sk.qm
Info: copy :/home/drone-gcs/Qt5.12.2/5.12.2/gcc_64/translations/qtbase_uk.qm
Info: try deploy msvc
Info: deploy done!

 

3.3 ๋ฐฐํฌํŒ ํ™•์ธํ•˜๊ธฐ

๋ฐฐํฌํŒ์„ ๋งŒ๋“ค๋•Œ, 3.2์˜ ํ•˜๋‹จ ๋นŒ๋“œ ํ™”๋ฉด์—์„œ ์ฒ˜๋Ÿผ target dir๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. 

์ด๋ฒˆ ๊ฒฝ์šฐ์—๋Š” ํ•ด๋‹น ์œ„์น˜ ์•„๋ž˜์— DistributionKit ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

๊ทธ ์œ„์น˜๋กœ ์ด๋™ํ•œ๋‹ค.

cd DistributionKit

 

drwxrwxr-x 6 drone-gcs drone-gcs 4096 9์›” 14 16:49 ./
drwxrwxr-x 3 drone-gcs drone-gcs 4096 9์›” 14 16:49 ../
-rwx---rwx 1 drone-gcs drone-gcs 509 9์›” 14 16:49 Drone.sh*
drwxrwxr-x 2 drone-gcs drone-gcs 4096 9์›” 14 16:49 bin/
drwxrwxr-x 2 drone-gcs drone-gcs 4096 9์›” 14 16:49 lib/
drwxrwxr-x 10 drone-gcs drone-gcs 4096 9์›” 14 16:49 plugins/
drwxrwxr-x 2 drone-gcs drone-gcs 4096 9์›” 14 16:49 translations/

 

Drone.sh๋ฅผ ์‹คํ–‰ํ•ด์„œ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. 

 

 

 

๋Œ“๊ธ€