우분투에서 QT프로그램을 배포하는 방법?

kjh27814의 이미지

안녕하세요.

Qt로 만든 프로그램을 배포버전으로 만들어보려고 하는데

이게 영 어디부터 시작해야 할 지 잘 모르겠네요..

구글에서 영문 사이트와 이곳에서 검색해서 나온 사이트들을 뒤져가며 이것저것 다 해봤는데

안 되는게 태반입니다.

정적빌드부터 시작해야 할 것 같아서 찾아보았으나 configure같은 명령어도 먹히질 않습니다.

하고 싶은데 잘 안되니 답답하네요..

도움 좀 부탁드리겠습니다.

감사합니다.

kjh27814의 이미지

http://qtnbeyond.blogspot.kr/2011/03/statically-building-with-qt-creator-in.html

4단계부터 막히는군요.. 대부분의 정적 빌드 설명이 이런 방식으로 되어있어서 손도 못대겠습니다 ㅜㅜ

klara의 이미지

리눅스에 배포하시려면 해당 배포판의 패키지를 만드는게 가장 좋은 방법입니다.

kjh27814의 이미지

그렇다면 그냥 release모드로 컴파일 한 뒤

ldd 명령어로 해당 프로그램의 공유 라이브러리를 찾아낸 다음

라이브러리를 모두 복사해와서 run파일과 같은 폴더에 넣고 패키징하는 방식으로

하는게 맞을까요?

패키징은 안하고 그냥 run파일과 라이브러리를 복사해서 다른 컴퓨터에서 실행시켜봤는데

실행이 안 되더군요..

klara의 이미지

패키지를 만든다는 것은 배포판의 패키지시스템에 맞는 패키지를 만든다는 뜻입니다. 우분투라면 deb패키지를 만들면 됩니다.
필요한 외부 라이브러리는 패키지에 포함시키는게 아니라 패키지의 의존성으로 적어줍니다.

kjh27814의 이미지

http://blog.naver.com/PostView.nhn?blogId=hseok74&logNo=120193947673

이 포스트를 보면서 진행중인데..

준비를 다 마쳐놓고

step 7을 진행하려고 하니 debuild에서 에러가 뜹니다.

dpkg-source: error: aborting due to unexpected upstream changes, see /쏼라쏼라~

패키지 만드는게 처음이라서 많이 어렵네요 ㅜㅜ

아. 그리고 만약에 패키지를 만들게 되면 상용화 해서 팔 때 라이센스적으로 문제가 없을까요?

LGPL에 따르면 사용한 라이브러리를 공개해야 소스 공개 의무가 없다고 알고 있는데

의존성에 명시를 해주면 문제가 없는지 궁금합니다.

질문 자꾸 드려서 죄송합니다.

klara의 이미지

보여주신 건 Qt를 포함시켜서 만드는 방법인데, 꼭 Qt가 같이 배포되어야할 이유가 있나요?
저는 처음에 다른 오픈 소스를 가져다가 패키지 해보고, 그안에서 필요한 파일들을 복사해와서 고쳐서 썼습니다.
ubuntu에 대한 정보는 http://ubuntu-kr.org/ 이 더 정보를 얻기 쉬울듯 하네요.

기본적으로 LGPL에서 요구하는 건 사용한 라이브러리를 공개할 것이 아니라, LGPL 라이브러리를 사용했음을 명시하는 것입니다.
어떤 경우에도 소스 코드를 공개할 필요는 없지만, 정적 링크를 한 경우에는 오브젝트 파일을 공개해야합니다.
마지막으로 특허관련해서는 역공학을 허가해야하는 등의 제약이 있습니다.
실제로 판매할 제품이라면 더 자세한 건 변호사와 상담하시는 게 좋을 듯합니다.

kjh27814의 이미지

많은 도움 되었습니다.

shint의 이미지

우분투 설치 정보는 아니지만. 설치에 필요한 정보가 있을지도 모릅니다.
문제는 내용이 많아서 보기가 어렵습니다. ㅡ_ㅡ;; 게다가. 크롬으로 보셔야 잘 보입니다.

여기 Qt와 재배포 부분 참고해 보세요.
https://docs.google.com/spreadsheet/ccc?key=0Av788O9A9oekdFU0eFJKVi1ZaEVCRWNEOXVLRUhNMXc&usp=sharing

하튼.
static으로 배포하실경우. Qt SDK를 상용 버전으로 구매해야 합니다.
돈 내고 구입하시면. 개발에 대해 도움을 준다고 합니다.

Qt는 빌드가 느리니까. 최대한 좋은 컴퓨터를 사용하는데. 하드와 CPU를 빠른걸로 구입하시는게 좋습니다.
아니면. 램 드라이브를 사용하시는게 좋습니다.

저라면. SSD랑 램드라이브를 사용하거나.
미니 하드 4개를 레이드로 묶어서 사용하고. 램드라이브를 같이 사용할 겁니다.

//사이트 링크 모음

Qt 개발자
http://qt-project.org/

Qt 포럼
http://qt.gitorious.org/

Qt 카페
http://cafe.naver.com/qtprograming/113

안드로이드에서 Qt 설치
http://gkehdgh7788.blog.me/100123542182

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

kjh27814의 이미지

static배포는 무리가 있을 것 같고..
컴퓨터는 현재 워크스테이션급을 사용중입니다.
참고 잘 하겠습니다!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.