본문 바로가기

Programing/Windows

Visual Studio에서 QT사용하기

오래전부터 MFC의 UI 사용이 불편한 점이 많아서, QT를 사용할려고 했으나 QT를 상업적으로 이용할려면 라이센스를
사야하는 문제때문에 사용을 하지 못하고 있었는데, 얼마전 QT의 Opensource의 라이센스기 GPL[각주:1]에서 LGPL[각주:2]
바뀐걸 알게되었습니다.
이제 라이센스의 제약없이 상업적인 Program을 만들 수 있게되었으니, 불편한 MFC의 UI를 버리고 Visual Studio에서
QT를 사용할 수 있는 환경을 꾸며보겠습니다.


1. QT를 Downlad 및 설치

QT를 설치할 수 있는 방법은 3가지가 있습니다.
첫번째는 LGPL 라이센스의 설치버전(exe)을 이용하는 것이고,
두번째는 LGPL 라이센스의 Source(zip)을 이용하는 것입니다.
마지막으로, 세번째는 Commercial 라이센스를 이용하는 것입니다.

여기서는 돈이 없으므로, LGPL 라이센스 버전을 사용합니다. 그럼 LGPL 라이센스 버전 두가지 중 선택을 해야하는데
Sousrce를 수정할 이유도 없고, 컴파일시 시간도 많이 걸리는 Source 버전을 무시하고, 간편한 설치 버전을 사용합니다.

다 정해졌으니, 이제 QT를 Download해서 설치하면 됩니다. 현재는 4.5.2 버전이 최신입니다.
http://get.qtsoftware.com/qt/source/qt-win-opensource-4.5.2-mingw.exe

QT 홈페이지에 가보시면 LGPL 버전도 SDK 버전과 Framework 버전 두가지가 있습니다.
SDK 버전은 Complete Development Environment을 꾸며주는 것이며, QT 라이브러리와 QT Creator IDE,
QT Development Tools이 설치됩니다.
설명을 보면 좋아보이긴 하나 Visual Studio는 지원이 안된다고 하는 슬픈 말이 써있므로,
Framework 버전을 설치합니다.


2. QT Compile

QT를 설치가 끝났다고, 다 됐다하고 좋아하시면 안됩니다. QT를 설치한 폴더에 가보시면 가장 중요한 Llibrary이
파일이 없습니다. Cross Plaform을 지원하는 탓에 그런듯 보입니다.
없다고 포기하시지 마시고, Compile을 해서 Library 파일을 생성해 봅시다.

기준 환경
1. QT를 Compile하기위한 도구로서 Visual Studio 2008 버전을 사용합니다.
2. Windows SDK와 DirectX SDK가 설치되어 있는 환경입니다.
    (QT에서 DirectX를 사용할 수 있도록 설정합니다.)
3. 사용되는 모든 경로는 기본 설치경로 입니다.


(1) 설치한 QT의 경로의 bin폴더를 Path에 등록
시스템 등록정보로 들어가서 시스템 변수의 Path 부분에 C:\QT\4.5.2.\bin를 추가합니다.



(2) Compile을 위해 Visual Studio 명령 프롬프트를 실행

실행을 시키면 Dos Command 창이 뜹니다.

(3) DirectX SDK 환경변수 등록
명령 프롬프트에서 DirectX SDK와 관련된 Include, lib, path를 환경변수에 등록합니다.
DirectX SDK에 환경변수 등록을 편하게 할 수 있는 파일이 있으니 그 파일을 실행시키면 됩니다.

cd C:\Program Files\Microsoft DirectX SDK (March 2009)\Utilities\bin
dx_setenv.cmd



(4) QT가 Complie될 환경을 설정
명령 프롬프트에서 QT가 설치된 경로로 이동한 후, configure -platform win32-msvc2008 을 입력하여, 자신의 컴퓨터 환경에
맞게 QT가 Complie 되도록 설정합니다.

cd C:\QT\4.5.2
configure -platform win32-msvc2008

자신의 컴퓨터에 설치된 Visual Studio 버전이 다른 경우는 아래 win32-msvc2008 대신 아래 보기중 맞는걸 골라서
입력하시면 됩니다.
* 더 자세한 환경설정 명령어는 configure -help를 치시면 보실 수 있습니다.

win32-msvc        : Visual Studio 6.0
win32-msvc2003  : Visual Studio .net 2003
win32-msvc2005  : Visual Studio .net 2005

설정 중 사용할 라이센스 종류를 물어보는데 LGPL 라이센스를 사용하므로, o를 입력합니다.
다음으로 라이센스 설명을 볼건지 물어보는데, y를 눌러서 넘깁니다.


y까지 입력하면 이제부터 QT가 알아서 환경설정을 합니다. 시간이 많이 걸리고, CPU 사용률도 높으므로 다른데서 놀고
오셔도 됩니다.

(5) QT Library Compile
4번까지의 단계가 다 끝나셨으며 원래 목적인 Library Complie입니다. Comile 하나 하는데 준비과정이 많네요.
여기서는 간단하게 명령 프롬프트에 명령어 하나만 치시면 됩니다.

nmake

이제 Library Compile이 진행되는데, 이건 환경 설정보다 시간이 더 걸리므로 마찬가지로 다른데서 놀고오세요.

complie이 다 끝나셨으면, 이제 QT를 사용하셔도 됩니다. 그러나, Visual Studio에서 더 편하게 사용하라고 QT 제작사에서
지원을 해주므로 이것도 설치를 해주는게 예의겠죠!!


3. Visual Studio Add-in 설치

(1) Add-in Download 및 설치
Add-in 설치 파일을 받으셔서, 설치하시면 됩니다.
http://get.qtsoftware.com/vsaddin/qt-vs-addin-1.0.2.exe

(2) Add-in 환경설정
설치를 하셨으면, 환경설정을 해야지 제대로 동작합니다.
Visual Studio를 실행시키시고, 메뉴줄에 생긴 QT 항목에서 Option을 선택합니다.



활성화 된 QT Option 창에서 Add를 누르신 후 Path 부분에 QT가 설치된 경로를 입력하고 OK를 누르시면 됩니다.


여기까지 하셨다면 Visual Studio Add-in 설정도 끝났습니다.
이제 마지막으로, Visual Studio에서 QT Library를 사용할 수 있도록, 경로 설정을 해주면 됩니다.


4. Visual Studio에서 QT 경로 설정

Visual Studio 메뉴줄의 도구에서 옵션을 선택합니다.


활성화 된 Option 창에서 프로젝트 및 솔루션 항목안에 VC++ 디렉토리를 선택합니다.

(1) bin 폴더 추가
VC++ 디렉토리 창에서 실행 파일 부분에 C:\QT\4.5.2.\bin을 추가해줍니다.


(2) include 폴더 추가
VC++ 디렉토리 창에서 포함 파일 부분에 C:\QT\4.5.2\include를 추가해줍니다.


(3) library 폴더 추가
VC++ 디렉토리 창에서 포함 파일 부분에 C:\QT\4.5.2\lib를 추가해줍니다.


자, 이제 모든 과정이 끝났습니다. 이제부터 QT를 자유로이 사용하시면 됩니다.
사용하시는 방법은 새 프로젝트를 선택하시면 QT4 Projects라는 항목이 생겨있을겁니다.
거기서 원하는 프로젝트를 만드셔서, 사용하시면 됩니다.


여기까지 오느라 고생많으셨습니다^^

  1. GPL 라이센스는 QT를 이용하여 프로그램을 만들었을때는 그 프로그램도 GPL 라이센스를 따라야됩니다. 즉, 만든 프로그램의 소스를 공개해야합니다. 그러므모, 상업용 프로그램을 만들 수는 없습니다. [본문으로]
  2. LGPL 라이센스는 Qt 라이브러리를 이용하여 프로그램을 만들었을때, 프로그램의 소스를 공개하지 않아도 됩니다. 즉, 상용 프로그램을 제작해도 문제가 없습니다. 다만, QT 라이브러리 소스를 수정하였을 경우는 공개를 해야합니다. [본문으로]