QT를 이용한 프로그램 배포 질문드립니다.
글쓴이: sealwood / 작성시간: 토, 2015/10/03 - 12:07오후
안녕하세요. 프로그래밍을 공부하고 있는 대학생입니다.
이번에 QT를 공부하면서, QT로 작은 프로그램을 개발했습니다. 이걸 배포하려는 데, qmake를 써서, Makefile을 만들어서 다른 컴퓨터에 실행하려고 하니 qt가 깔려있지 않아 make가 되지 않는다고 오류가 뜨네요. 제가 리눅스로 프로그램을 배포하는게 처음이라, 여러 정보를 검색해보았지만, 어떤 이야기를 하는지 전혀 이해를 하지 못해 여기에 질문을 드립니다.
사용 환경 : Fedora22 + VMware
사용 언어 : C++, QT
질문 : 제가 qt를 이용하여 동적 라이브러리를 만들어서, 라이브러리를 참조하라고 했는데도, qmake로 만든 파일은 개발 컴퓨터(qt가 깔려있습니다.)의 라이브러리를 반드시 참조하여 발생하는 오류인듯 합니다. 다른 컴퓨터에서 qt 라이브러리 없이 실행 될 수 있게, 동적 라이브러리만 참조할 수 있는 방법이 없을까요?
Forums:
제가 아는건 없지만... 참고해보세요.
지금 찾아보니. 이런 방법들이 있습니다.
rpm. yum. apt-get. dpkg. tar. autogen.sh. git or svn opensource.
전문적인건 잘하시는분들이 답변해주실겁니다.
Qt SDK 는 정적 컴파일할경우. 500만원을 상용라이센스로 내야 한다고 합니다. 주의해주세요. ㅇ_ㅇ;;
//가장 쉬운 방법. 압축해지 하면. 되죠. ㅡ_ㅡ;;
압축
tar -cvfz test.tar *
이거 였던거 같은데. 하위 경로에 -R 을 붙여야 하는지는 까먹었네요.
압축해지
tar -xvfz test.tar
//Git 허브를 사용한 오픈소스 배포.
//Qt 패키지를 다운받아서 설치하는 방법.
경로지정이 필요하죠.
Package Management(rpm, yum, apt-get, dpkg)
https://wiki.kldp.org/wiki.php/package
yum, rpm vs apt-get, dpkg 대응표
http://blog.naver.com/parkjy76?Redirect=Log&logNo=220474261033
[리눅스] apt-get (패키지 관리 도구) Linux / 학부
http://blog.naver.com/three_letter?Redirect=Log&logNo=220449499807
Ubuntu의 apt-get 명령어 정리
apt-get(Advanced Packaging Tool)
http://blog.outsider.ne.kr/346
Advanced Packaging Tool
https://en.wikipedia.org/wiki/Advanced_Packaging_Tool
//
Deploy Debian Package for QT Application with Shared Library
http://blog.naver.com/hseok74?Redirect=Log&logNo=120193947673
Ubuntu QT Package Ubuntu
http://blog.naver.com/a0a1a2a3a4?Redirect=Log&logNo=42604949
//
autogen.sh, configure
http://xpt.sourceforge.net/techdocs/nix/tool/make/mk07-Commandautogenconfigure/ar01s02.html#autogen_sh_configure_1
autogen.sh
http://sourceforge.net/projects/buildconf/
7.1 How Configuration Should Work
http://www.gnu.org/prep/standards/html_node/Configuration.html
리눅스의 autogen.sh, configure에 대해서 알아보자
http://rockhammer.blog.me/80169660103
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10302&docId=167145499&qb=YXV0b2dlbi5zaA==&enc=utf8§ion=kin&rank=4&search_sort=0&spq=0
sudo apt-get install gcc
yum install gcc
autogen.sh
01org/wayland-fits
https://github.com/01org/wayland-fits
QT cross compile
http://hulryung.tistory.com/22
[QT]qt3환경설정
http://mj0316.tistory.com/48
QT 윈도우 정적 컴파일 2013.04.24. 으녕이남편
http://blog.naver.com/zkdlfhrm?Redirect=Log&logNo=110166837490
X/QT jumbo package | Zaurus / 디지털
http://blog.naver.com/tomynymph?Redirect=Log&logNo=20229217
[Qt] 멀티 터치 관련 tslib | ⊙ Linux 자료
http://cafe.naver.com/embeddedcrazyboys/22317
1. Mango64 QT 실습하기 - 'tslib'설치, 실행하기
http://blog.naver.com/supsup5642?Redirect=Log&logNo=60158548930
qt 4.7 with tslib 를 설치해보자.
http://iggeak.tistory.com/42
Rebis S3C-2440 보드에 Qt 및 tslib 포팅하기 - Embedded/Rebis Board 환경설정 - 2010/05/07 14:26
http://allench82.tistory.com/11
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
감사합니다.
감사합니다. 천천히 링크주신글 읽어 본 후 다시 해보겠습니다.
어딘가에 책이 있을겁니다.
...
네이버 책. 도서관. 서점. 카페. 찾아보셔도 되구요.
학원. 전문대. 직업학교. 기업 컨설팅.
전문가에게 문의해보시는것도 좋을것 같습니다.
상황에 따라. 용도에 따라. 교육과 도구. 개발기간을 잘 고려하셔서 선택하셔야 할겁니다.
먼저 해본 사람에게 물어보는게 제일 빠릅니다.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
윗분 댓글이 내용만 길었지 핵심을 살짝 비껴가는 것
윗분 댓글이 내용만 길었지 핵심을 살짝 비껴가는 것 같습니다. 당연히 소스 코드 형태로 배포하려면 대상 컴퓨터에도 Qt 라이브러리 헤더 파일이 필요하고 (이걸 설치하는 과정에서 대개 qmake는 자동적으로 따라옴), 동적 링크 바이너리 형태로 배포하려면 대상 컴퓨터에도 Qt 라이브러리가 필요합니다. Windows의 DLL도 비슷하게 돌아가죠.
그리고 그 500만원 드립은 LGPL과 상용 라이선스를 잘못 이해해서 발생하는 것 같습니다. Qt 라이선스 모델 상 상용과 자유 소프트웨어용이 둘 다 존재하는데, 무리하게 상용 라이선스를 적용시키려고 하는 것 같습니다. LGPL로 배포된 라이브러리를 정적 링크해서 배포하려면 프로그램과 라이브러리 둘 다를 같이 LGPL로 배포해야 합니다. 이 과정에서 소스 코드 내지 오브젝트 파일을 같이 배포해야 하죠. 자세한 것은 https://kldp.org/node/119469 여기를 참조하세요.
답변 감사드립니다.
답변 감사합니다. LGPL에 대해 제가 이상하게 이해하고 있었네요.
제가 오픈소스로 배포하려고 하는 경우에는 QT 라이센스가 오픈소스용으로 LGPL인 만큼, 프로그램을 배포할 때 QT 헤더 라이브러리와 프로그램을 배포하면 라이센스 쪽 문제가 없는 것인지 궁금합니다.
프로그램 소스 코드만 배포하고, Qt 라이브러리에
프로그램 소스 코드만 배포하고, Qt 라이브러리에 별다른 수정 사항이 없다면 대개의 경우 라이브러리는 포함시키지 않습니다. github 등지의 프로젝트를 봐도 Qt 라이브러리를 직접 건드리지 않았다면 소스 코드만 배포하는 걸 볼 수 있습니다.
gilgil.net
Qt는 shared 빌드를 기본으로 하고 있습니다. 따라서 관련된 dependency file(*.so)을 추후 배포를 해야 합니다.
sudo apt-get install qt5-default
과 같이 필수 파일들을 설치해 주는 명령어를 실행해서 설치할 수도 있구요,
ldd 명령어를 이용하여 어떠한 so 파일들이 dependency로 걸려 있는지 알아낸 다음 관련된 so file을 같이 배포해도 됩니다.
Qt library를 static으로 빌드하여 배포할 수도 있지만, 라이센스 문제도 있고, QtCore 및 QtGui 2개의 모듈만 해도 10M가 넘어 가니 비추입니다.
www.gilgil.net
Qt는 듀얼라이센스일텐데요.상용 구입하면
Qt는 듀얼라이센스입니다.
상용 구입하면 static build 해도 상관 없습니다. (아 앞에 글쓴분이 라이센스비 500만원이라고 얘기하셨네요)
비상용이면 LGPL도 있고 GPL도 있으니 파악하셔야 할겁니다. GPL이면 상용프로그램 만들때 피해야 하고요.
예전 아래아한글 리눅스버전 팔던 한컴**스가 Qt 총판이었는데 지금은 어떻게 됐는지 모르겠네요. 참고로 이 회사는 망했음.
Written By the Black Knight of Destruction
참고로 윈도우용 NSIS 배포도 적어봅니다.
NSIS 인스톨과 언인스톨 (UAC)
https://docs.google.com/spreadsheets/d/1SNakQ6neT6E8yw4oHlEz6H939XawKMgwBtWZ5OCJ0jU/edit#gid=0
인스톨 쉴드가 없으신 분들을 위해서. NSIS 로 설치 및 제거가 가능합니다.
제가 해본 결과. 잘 됩니다.
경우에 따라서는 관리자 권한으로 실행해야 합니다.
설치되는 폴더 경로의 띄워쓰기. 한글경로등을 잘 확인하시기 바랍니다.
Visual Studio 2003 쯤? 에는 매우 쉬운 Setup.exe 배포파일 생성 버튼이 있었습니다.
//설치에는 매우 많은 요소가 필요합니다. 되도록. 전문가를 만나보시기 바랍니다.
- 닷넷 1.0 1.1 2.0 2.5 3.0 3.5 4.0 4.5 등등
- Windows Installer 3.0 3.1 4.5
- 재배포판
- 런타임 컴포넌트
- 윈도우즈 컴포넌트 업데이트
- 피쳐팩. 리본. XP스킨
- 권한. 보안. 인증. UAC. Manifest.
- ActvieX 인증. OCX. 인증. 서명.
물론. Visual Studio 에도 몇번 클릭으로 배포 설치가 되는 관리자'기능이 있으니. 잘 확인해보시기 바랍니다.
ClickOnce 보안 및 배포
https://msdn.microsoft.com/ko-kr/library/windows/apps/t71a733d(v=vs.100).aspx
Visual Studio 설치 관리자 배포
https://msdn.microsoft.com/ko-kr/library/windows/apps/2kt85ked(v=vs.100).aspx
Microsoft Visual Studio 2008 설치파일 만들어 배포하기
http://blog.naver.com/ideologist?Redirect=Log&logNo=220379820922
Visual Studio 설치
https://msdn.microsoft.com/ko-KR/library/windows/apps/e2h7fzkw(v=vs.100).aspx
배포(Visual C++)
https://msdn.microsoft.com/ko-KR/library/windows/apps/zebw5zk9(v=vs.100).aspx
Visual Studio 다운로드
https://msdn.microsoft.com/ko-kr/vstudio/
설치프로그램 만드는 방법 알려 주세요!!
http://tip.daum.net/question/2824518/80676480?q=Visual+Studio+%EC%84%A4%EC%B9%98+%EA%B4%80%EB%A6%AC%EC%9E%90+%EB%B0%B0%ED%8F%AC
Visual Studio 2005/2008 설치 & 배포
http://blog.naver.com/PostView.nhn?blogId=lswcharming&logNo=30130041856
visual studio 2010 설치 관리자 패키지 만들기
http://blog.naver.com/PostView.nhn?blogId=aehone&logNo=220414886476
응용 프로그램 및 구성 요소 배포
https://msdn.microsoft.com/ko-kr/library/wtzawcsz(v=vs.100).aspx
Active Directory를 사용하여 Microsoft Visual Studio .NET 2003 배포| ★ 강좌
http://cafe.daum.net/fusionwizard/BoGm/25?q=Visual%20Studio%20%BC%B3%C4%A1%20%B0%FC%B8%AE%C0%DA%20%B9%E8%C6%F7&re=1
Windows Installer 배포
https://msdn.microsoft.com/ko-kr/library/2kt85ked(VS.80).aspx
Visual Studio 설치 관리자 배포
https://msdn.microsoft.com/ko-kr/library/2kt85ked(v=vs.100).aspx
Visual Studio 2005/2008 설치 & 배포
http://www.unisarang.co.kr/main/sub03_view.aspx?num=121
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
무료 인스톨러 몇가지 있죠. 저는 Inno
무료 인스톨러 몇가지 있죠.
저는 Inno Setup 쓰고 있습니다. Inno Setup Studio로 대충 와꾸 짠 다음 스크립트를 수정해서 인스톨러화면 커스텀법 검색하면 잘 나오더군요.
http://www.jrsoftware.org/isinfo.php
Written By the Black Knight of Destruction
글쓴이입니다.
매우 작고, 부끄러운 프로그램이지만, 헤더 파일의 수정이 없어서 소스 코드만 GPL로 배포하기로 했습니다.
답변을 주신 모든분들께 감사드립니다.
댓글 달기