[완료] QT v4.4 를 윈도우에서 static 으로 할려구 하는데요 ~
글쓴이: cpuz / 작성시간: 수, 2008/07/16 - 12:34오전
기본값은 shared 로 설치되더라구요.
간단한 hello, world 를 만들어서 친구한테 배포해보니깐
역시나 QT 런타임이 없어서 오류가 나더라구요.
실행에 필요한 dll 을 따로 묶어서 배포하는 방법보다,
그냥 static 컴파일이 좋겠다 싶어서
그렇게 해보려구, 여기랑 구글을 검색해봤거든요.
헉뚜...
qt 라이브러리를 다시 static 모드로 configure 하고 nmake 하라고 하더군요.
그래서 qt assistant 에 나와있는대로
nmake distclean 해서 싹 다 날리구..
configure -static -platform win32-msvc2008
nmake
이 명령으로 현재 열심히 빌드하구 있습니다. ㅠ.ㅠ (한 2시간 걸릴듯)
이렇게 하구
또 필요한 작업이 있는지 궁금하네요 ~
Forums:
우어~! 그 많은 용량을...?
static 으로 배포하신다니, 엄청나신걸요?
따로 컴파일 하시는건가요? 특별한 문제가 없다면 컴파일 후 바로 Static 으로 사용하실 수 있다고 생각합니다.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.
아하~
답변 감사해요 ^^
생각해보니까 용량이 넘 커지겠네요 ;;;
에구구 배포보다는 우선 공부를 해야하는데 생각을 잘못한것 같습니다 ㅠ.ㅠ
다시 shared 로 롤백해야할 상황이네요. 안습;;
그 컴파일 빌드 시간 생각만 해도 ㄷㄷ
---------------------------
사랑을 찾지못하면 그것은 정말!
아하~
답변 감사해요 ^^
생각해보니까 용량이 넘 커지겠네요 ;;;
에구구 배포보다는 우선 공부를 해야하는데 생각을 잘못한것 같습니다 ㅠ.ㅠ
다시 shared 로 롤백해야할 상황이네요. 안습;;
그 컴파일 빌드 시간 생각만 해도 ㄷㄷ
---------------------------
사랑을 찾지못하면 그것은 정말!
참고로 저렇게 지금
참고로 저렇게 지금 빌드하고 계신거라면, 빌드용량이 몇기가(디버그까지 넣으면 10기가이상)에 다를 것입니다.
static 옵션으로 빌드하면 동시에 각종 툴들과 예제까지 전부 정적링크로 빌드되기 때문입니다.
보통 정적링크로 배포하고 싶다면, 동적링크된 걸로 풀빌드를 하고, 정적링크용은 라이브러리만 빌드해서, 개발할땐 동적링크하고, 배포할때 정적링크하는게 좋죠.
그리고 VS2008를 이용하시는가본데요, 그러면 Qt를 정적링크해도 추가로 뭘 설치해야 VS2008이 없는 곳에서 실행할수 있습니다.
mingw32는 dll만 넣어주면 되는데, VS2008의 경우는 dll만 옮긴다고 되는것도 아니고, MS홈피에서 무슨 전용 설치파일을 받아야 하더군요.
그래서 진짜 아무것도 없이 바로 실행되도록 정적링크하고 싶다면, Qt를 빌드하기전에 몇군데 손봐줘야 하는데, 예전에 북마크해두었던 사이트가 문을 닫아서 알려드릴수가 없네요.
라이브러리만 빌드하는 방법이 있나요?
xylosper 님 늦은밤 답변 감사합니다.
저도 개발은 동적링크로 개발하고, 배포할때 라이브러리만 정적링크로 하고 싶은데,
아무리 문서를 찾아봐두.
configure -static -win32-msvc
nmake
이거밖에 결론이 안나오더라구요 -;;
QTCore4.dll 이런 파일들만 차후에 실행파일에 정적링크로 컴파일하는 방법이 있을까요?
MFC 는 그냥 비주얼 스튜디오 옵션에서 가능했는데, QT 는 어떤식인지 감이 안잡히네요 ㅠ
---------------------------
사랑을 찾지못하면 그것은 정말!
dll이란 것 자체가
dll이란 것 자체가 동적링크용 라이브러리입니다.
VS라고 그냥 dll을 정적링크할순 없습니다. 아마 처음부터 정적링크용과 동적링크용 라이브러리를 다 끌고 와서 설치되는거 아닌가 싶네요.
Qt를 스태틱 빌드하는 방법밖에 없습니다.
전에 친절하게 적혀있던 페이지가 있는데, 안타깝게도 문을 닫았네요.
스태틱 옵션 주고 빌드한지 너무 오래되서 잘 기억은 안나는데, 빌드할때 nmake대신에 nmake subdir(혹은 subdirs 혹은 sub_dir혹은 sub_dirs...대충 이런거였던거 같은데 기억이 잘 안나네요)라고 치고 한번 빌드해보세요.
이렇게 빌드하면 각종예제도 빌드안할뿐만 아니라, 각종툴들(assistant나 designer등)도 빌드하지 않기 때문에, 개발용으로 따로 동적링크로 Qt를 하나더 풀빌드할필요가 있습니다.
그리고 이렇게 빌드한 경우는 nmake install을 절대로 실행하지 마세요.
만약 이걸 실행하면 결국 인스톨하는데 필요한걸 전부 빌드하기 시작하니까요.
빌드된 파일을 직접 복사해다가 쓰면됩니다.
답변 감사합니다.
nmake subdir 이 맞는것 같습니다 ㅎㅎ 매뉴얼에도 그렇게 나와있네요.
QT 를 두가지로 빌드해서 사용하는 방법을 찾아서 한번 해봐야겠군요 ^^;
친절한 답변 감사합니다 ^.^
---------------------------
사랑을 찾지못하면 그것은 정말!
---------------------------
사랑을 찾지못하면 그것은 정말!
댓글 달기