Qt 배포하기 in Windows
Deploying the QT application in windows
1. 배포방법
배포방법에는 2가지가 있다.- Static Linking
- Shared Library
Shared Library 방식은 공유 라이브러리(동적 라이브러리)를 이용하는 방식이다. 이 방식은 executable을 실행할 시에 동적으로 라이브러리를 linking하여 실행한다. 따라서 Static Linking과는 반대로 파일이 많아지고 executable 파일의 크기가 줄어들게 된다. 이 방식의 장점은 각 모듈이 독립적으로 업그레이드가 가능하다는 점이다.(실행시에 linking 되기 때문에 각 library를 쉽게 업그레이드 할 수 있다.)
굳이 비유를 하자면 Static Linking방식은 비빔밥을 비벼서 주는 방식이고, Shared Library는 재료를 따로 주는 방식이다. Shared Library처럼 재료를 따로주면 사용자의 기호에 맞게 재료를 선택할 수 있다. 물론 Shared Library로 배포시에는 파일의 수가 많아지는 것은 분명히 단점이다.
2. Qt 배포(Shared Library)
2번째 방식인 Shared Library를 택할 시 추가적인 Library를 당연히 같이 배포해 주어야한다. Qt에서 사용한 모듈은 개발자가 스스로 인지하고 있으니 알아서 추가해주면 된다. 여기서는 컴파일러에 따른 종속 라이브러리를 추가해주어야 한다는 점을 강조하고 싶다.http://doc.qt.io/qt-5/windows-deployment.html#application-dependencies
위의 링크를 참조
우선 Qt를 사용했다면 아래의 3개의 라이브러리를 같이 배포하자.
Qt
- Qt5Core.dll
- Qt5Gui.dll
- Qt5Widget.dll
VC++10.0
- MSVCR100.dll
- MSVCP100.dll
VC++11.0
- MSVCR110.dll
- MSVCP110.dll
VC++12.0
- MSVCR120.dll
- MSVCP120.dll
MINGW
- libwinpthread-1.dll
- libgcc_s_dw2-1.dll
- libstdc++-6.dll
3. 추천
Linux에서는 ldd 명령어로 라이브러리 의존성을 알 수 있다. Windows 환경에서 역시 의존성을 검사 할 수 있는 Tool이 있다.Dependency Walker라는 Tool인데 사용하기 쉽다.
댓글
댓글 쓰기