Qt로 짠 프로그램을 배포할 때, 특히 윈도우나 맥에서, 사용자 측에서 Qt 라이브러리가 없어서 실행하지 못하는 경우가 많습니다.
이런 경우 해결책으로 Qt를 정적링크하여 실행파일에 넣어버리는 방법이 있는데요, Qt를 정적 링크(static link)하여 이용하기위해서는, 당연히, 정적 라이브러리 파일(.a)이 필요합니다.
Qt를 설치할때, 기본값으로 동적 라이브러리를 빌드하도록 되어있기 때문에, 정적 라이브러리 파일을 이용하기 위해서는 configure단계에서 -static 옵션을 주고 Qt를 설치하여야합니다.

다만 -static옵션을 주고 그대로 make를 쳐버릴 경우, 라이브러리 파일 뿐만 아니라, 각종 툴들과 예제 및 데모까지, Qt의 모든 바이너리 파일들이 정적 링크되어 빌드되므로 Qt의 용량이 어마어마하게 늘어납니다(끝까지 해본 적이 없어서 모르겠습니다. 10기가는 넘어갑니다).

(저도 다른 데서 본거긴 하지만) 제가 추천하는 방법은, 개발할때는 동적 링크된 Qt를 이용하고, 배포할때만 Qt를 정적링크하는 것입니다.
이렇게 하기 위해서는 두가지 Qt를 빌드해야합니다.

우선 개발용으로 동적 링크해서 쓸 Qt는 일반적인 방법(-static 옵션 없이)으로 빌드하여 이용하면 됩니다.
그리고 배포용으로 정적링크해서 쓸 Qt는 우선 -static 옵션을 주고 configure한후, make할때, 'make sub-src'를 이용하는 것입니다.
이렇게 할 경우, 라이브러리만 빌드하기 때문에 빌드 시간도 짧고 용량도 그리 크게 차지하지 않습니다.
다만 이 경우엔 정말 라이브러리 외에는 아무것도 빌드하지 않기 때문에, 예를 들어 디자이너나 어시스턴트 등도 빌드되지 않습니다.
그러므로 이러한 툴이나 예제들은 위에서 말한 개발용 Qt에 포함된 녀석을 이용해야겠지요.
참고로 이렇게 빌드한 정적링크 Qt는 'make install'을 하지 말고 복사해서 쓰거나 직접 경로를 지정해서 써야합니다.
만약 make install을 실행하면, 빌드하지 않은 모든 것들을 빌드한후 복사될 것입니다.

정리하면,

  1. 일반적인 방법으로(-static옵션 없이) Qt를 빌드
  2. 정적 링크용 Qt를 빌드
    1. configure -static [기타 옵션]
    2. make sub-src
    3. 빌드된 것을 복사해서 이용
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/09/03 11:06 2008/09/03 11:06

Trackback URL : http://xylosper.net/trackback/125

Leave a comment
[로그인][오픈아이디란?]

« Previous : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : ... 112 : Next »

Recent Posts

  1. MBTI 유형테스트
  2. static 변수를 이용한 싱글톤 구현시...
  3. CMPlayer 0.2.1 공개
  4. Qt 팁 - 2. Qt로 만든 프로그램을 배...
  5. Qt 팁 - 1. Qt로 정적(static) 빌드하기

Recent Comments

  1. KLDP에 친절하게 답변 달여 주셔서... 최익필 2008
  2. 피드백 감사합니다. 이페이지만 자꾸... xylosper 2008
  3. QT를 처음 시작하면서 강좌를 재미있... Weawen 2008
  4. 일부러 찾아오셔서 댓글까지 남겨주... xylosper 2008
  5. 트랙백 보고 왔어요. ^^ 저도 트랙백... A2 2008

Recent Trackbacks

  1. Wellbutrin xl. Wellbutrin. 2008
  2. MBTI 테스트 최익필의 이름없는 블로그 2008
  3. 위젯 개발의 화두 'width' 위젯박사 쏭군의 열정이야기 2008
  4. 재미로 해보는 MBTI 검사 A2공간 - 도움되는 글을 쓰자 2008
  5. cmplayer. morgana 2008

Calendar

«   2009/01   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Bookmarks

  1. Project CMPlayer
  2. seevaa의 잡다구리한 이야기

Site Stats

TOTAL 106737 HIT
TODAY 94 HIT
YESTERDAY 126 HIT
Statistics Graph