Development

QT λ¦¬λˆ…μŠ€ Deploy 방법

JayKimπŸ™‚ 2023. 11. 20. 12:08

QTμ—μ„œ λ¦¬λˆ…μŠ€ ν™˜κ²½μ—μ„œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ ν•˜κΈ° μœ„ν•΄μ„œλŠ” νŠΉλ³„νžˆ deploy κΈ°λŠ₯이 지원 λ˜μ§€ μ•ŠλŠ”λ‹€
ν•˜μ§€λ§Œ λ³„λ„μ˜ QT νˆ΄μ„ μ΄μš©ν•˜μ—¬ Deploy λ₯Ό ν•  수 μžˆλ‹€.

μ—¬κΈ°μ„œ μ‚¬μš©ν•˜λŠ” νˆ΄μ€ cqtdeployer λ₯Ό μ‚¬μš©ν•˜μ—¬ νŒ¨ν‚€μ§€ ν•˜μ˜€λ‹€.
(참고둜 cqtdeployer λŠ” λ¦¬λˆ…μŠ€μ™€ μœˆλ„μš° ν™˜κ²½ λͺ¨λ‘λ₯Ό μ§€μ›ν•œλ‹€.)

ν•΄λ‹Ή github μ†ŒμŠ€ μœ„μΉ˜λŠ” https://github.com/QuasarApp/CQtDeployer 이닀

cqtdeployer μ„€μΉ˜

μ„€μΉ˜ 방법은 μ†ŒμŠ€λ₯Ό 직접 μ„€μΉ˜ ν•  μˆ˜λ„ μžˆμ§€λ§Œ μ—¬κΈ°μ„œλŠ” Snap Store λ₯Ό μ΄μš©ν•˜λ©΄ λͺ…λ Ήμ–΄ ν•˜λ‚˜λ‘œ κ°„λ‹¨νžˆ μ„€μΉ˜ λœλ‹€

https://snapcraft.io/cqtdeployer

링크 λ°©λ¬Έν›„ Install 을 클릭 ν•˜λ©΄ λ‚˜μ˜€λŠ” λ‹€μŒ λͺ…λ Ήμ–΄ μ‹€ν–‰ ν•˜λ©΄ λœλ‹€ (snap 지원 λ¦¬λˆ…μŠ€μ— ν•œν•˜μ—¬)

$ sudo snap install cqtdeployer

μ„€μΉ˜ snap λͺ©λ‘ 확인

$ snap list

일뢀 μƒλž΅
cqtdeployer        1.6.2323.dd027b2  272    latest/stable    quasarrapp    -

둜 확인 해보면 cqtdeployer λ₯Ό 확인 ν•  수 μžˆλ‹€.

λ¦¬λˆ…μŠ€ νŒ¨ν‚€μ§€

이제 μ‹€μ œλ‘œ Qt 둜 λΉŒλ“œν•œ λ°”μ΄λ„ˆλ¦¬λ₯Ό 생성 ν•˜κ³  ν•΄λ‹Ή ν΄λ”λ‘œ 이동을 ν•΄λ³΄μž
μ—¬κΈ°μ„œ 예제둜 BerEditor λΌλŠ” μ‹€ν–‰ 파일이 생성 되면 ν•΄λ‹Ή ν΄λ”μ—μ„œ cqtdeployer -bin BerEditor 만 μ‹€ν–‰ ν•˜λ©΄ λœλ‹€.

$ cd [λ°”μ΄λ„ˆλ¦¬ 생성 폴더]
$ cqtdeployer -bin BerEditor

λ§Œμ•½ μ‹€ν–‰ 쀑에 μ„€μ • κ΄€λ ¨ 경둜 μ—λŸ¬κ°€ λ‚˜λ©΄ qmake μœ„μΉ˜λ₯Ό 지정해 주자.

cqtdeployer λͺ…λ Ήμ–΄ μ—λŸ¬μ‹œ qmake μœ„μΉ˜ 지정

λͺ…λ Ή 예제 μž„

cqtdeployer -bin BerEditor -qmake ~/Qt/5.13.2/gcc_64/bin/qmake

μ—¬κΈ°μ„œ "~/Qt/5.13.2/gcc_64/bin/qmake" λŠ” μ‚¬μš©μž ν™˜κ²½μ— 맞제 지정해 μ£Όμ–΄μ•Ό ν•œλ‹€.
μœ„ λͺ…λ Ήμ–΄ 싀행을 ν•˜λ©΄ DistributionKit 폴더가 생성 됨

생성후 DistributionKit 폴더에 λ“€μ–΄κ°€ 보면

cd DistributionKit
ls -l
total 20
-rwxrwxr-x  1 jykim jykim 1640 11μ›” 20 15:46 BerEditor.sh
drwxrwxr-x  2 jykim jykim 4096 11μ›” 20 15:45 bin
drwxrwxr-x  2 jykim jykim 4096 11μ›” 20 15:45 lib
drwxrwxr-x 10 jykim jykim 4096 11μ›” 20 12:02 plugins
drwxrwxr-x  2 jykim jykim 4096 11μ›” 20 15:46 translations

이런게 κ΄€λ ¨ νŒ¨ν‚€μ§€ λͺ©λ‘μ΄ 생겨 μžˆλ‹€. μ—¬κΈ°μ„œ BerEditor.sh νŒŒμΌμ„ μ‹€ν–‰ ν•˜λ©΄ λœλ‹€.
μ‹€ν–‰ μ‹œ GLIBC XX κ΄€λ ¨ μ—λŸ¬κ°€ λ‚˜νƒ€λ‚˜λ©΄ BerEditor.sh νŒŒμΌμ„ μ—΄μ–΄μ„œ μ•„λž˜ λ‚΄μš©μ„ μˆ˜μ • ν•˜μž

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$BASE_DIR"/lib/:"$BASE_DIR"

LD_LIBRARY_PATH 값을 μ•žμœΌλ‘œ 쑰절 ν•΄μ£Όλ©΄ 됨
그리고 BerEditor.sh 을 μ‹€ν–‰ ν•˜λ©΄ λœλ‹€.
cqtdeployer 둜 λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ ν•˜μ—¬ λ‚˜μ˜¨ νŒŒμΌλ“€μ€ μ‹€ν–‰ νŒŒμΌμ— λŒ€ν•œ κ΄€λ ¨ λΌμ΄λΈŒλŸ¬λ¦¬λ“±μ˜ νŒŒμΌμ„ λ¬Άμ–΄ μ£ΌλŠ” μ—­ν™œμ„ ν•˜λŠ” 것이닀.
μ΄λ ‡κ²Œ 생성 된 DistributionKit 폴더λ₯Ό zip 으둜 λ¬Άμ–΄μ„œ λ°°ν¬ν•˜λ©΄ λœλ‹€.

마무리

μœˆλ„μš°λ‚˜ MacOS 경우 νŒ¨ν‚€μ§€ 방식이 거의 정해진 방식이 μžˆλ‹€.
ν•˜μ§€λ§Œ λ¦¬λˆ…μŠ€λŠ” 아직 νŒ¨ν‚€μ§€ 지원이 μ—¬λŸ¬κ°€μ§€λΌμ„œ 일단 μ΄λ ‡κ²Œ κ΄€λ ¨ 파일 묢음으둜 νŒ¨ν‚€μ§€λ₯Ό ν•˜μ˜€λ‹€.
사싀 λ¦¬λˆ…μŠ€μ—μ„œ rpm λ˜λŠ” deb 같은 방식이 μžˆμ§€λ§Œ 이 방식듀은 μ§€μ›ν•˜λŠ” λ¦¬λˆ…μŠ€μ˜ μ˜μ‘΄μ„±μ΄ μžˆμ–΄μ„œ
zip으둜 λ§Œλ“€μ–΄μ„œ μ‚¬μš©ν•˜κ²Œ ν•˜μ˜€λ‹€.

μ—¬κΈ°μ„œ Deploy 싀행은 μš°λΆ„νˆ¬ 20 λŒ€ 버전 64λΉ„νŠΈ λͺ¨λ“œμ—μ„œ ν…ŒμŠ€νŠΈ ν•˜μ˜€λ‹€.