[개요]


Visual Studio 사용자들이 Qt를 접할 때 Qt Creator라는 새로운 IDE에 적응해야 한다는 부담감이 있을 수 있습니다. 그래서 Visual Studio에서 Qt 라이브러리를 바로 가져다 사용할 수 있도록 하는 간단한 예제를 만들어 보았습니다.


Qt라이브러리를 사용하는 방법도 다른 Third Party 라이브러리를 사용하는 것과 별반 다를 게 없습니다.


1. header file을 include해 주고 컴파일을 한다.

2. cpp file(혹은 lib 파일)을 링크를 한다.

3. Qt 관련된 DLL을 이용하여 실행을 한다.




[Qt 다운로드]


일단 Qt를 설치해 보도록 하겠습니다. http://qt-project.org > Download로 이동을 해서 최신의 Qt 라이브러리를 다운받아 설치를 합니다. 이 경우 자신의 PC의 OS와 컴파일러 버전을 확인하도록 합니다. Windows 7(64bit), Visual Studio 2012(x64) 환경에서 개발을 한다고 한다면, 아래 파일( qt-windows-opensource-5.1.0-msvc2012-x86_64-offline.exe )을 다운받아서 설치를 합니다.


설치가 완료되면 Visual Studio에서 바로 사용할 수 있는 header file(*.h), library file(*.lib), executable file(*.dll) 등이 생성이 됩니다. 물론 full source code를 받아서 자신이 가지고 있는 컴파일러를 이용하여 직접 빌드를 하여 사용할 수도 있습니만, 시간이 많이 걸리므로 개발을 할 때에는 마음 편하게 미리 빌드된 버전을 다운받아 사용하는 것이 좋습니다.


qt_01.png




[Qt 설치]


Qt 설치 파일을 다운받은 다음 실행을 하여 설치를 합니다. 추후 다른 개발자들과의 협업이나 온라인상의 QnA를 위해서라도 설치 폴더는 가급적이면 변경하지 않고 기본적인 설정을 이용하여 설치를 하도록 합니다.


qt_02.png




설치가 완료되면 C:\Qt 폴더 하위에 Qt 버전 및 컴파일러 종류에 따라 폴더가 생성이 됩니다. 저는 C:\Qt\Qt5.1.0\5.1.0\msvc2012_64 라는 폴더에 관련 파일들이 설치가 되었습니다. Visual Studio에서 Qt를 직접 사용하기 위해서는 include, lib 및 bin 폴더 이 3가지의 폴더만 있으면 됩니다.


qt_03.png




[Qt 샘플 코드]


MFC에서는 CString, VCL에서는 AnsiString이라는 클래스를 제공하듯이, Qt에서는 QString이라는 클래스를 제공하고 있습니다. 다음 코드는 QString을 이용해서 "hello world"를 출력하는 예제입니다.


#include <iostream>
#include <QString>

int main()
{
  QString s = "hello world";
  std::cout << s.toStdString() << std::endl;
  return 0;
}




[VS Project 만들기]


Visual Studio - FILE - New - Project - Win32 Console Application을 이용하여 console project를 생성합니다.


qt_04.png




standard system include file(stdafx... 블라블라)들의 사용을 막기 위해서(stdafx... 파일들을 Qt와 같이 사용하게 되면 멘붕이 올 수 있음) Empty project를 선택하여 프로젝트를 생성합니다.


qt_05.png




[코드 작성]


cpp 파일을 하나 추가하여 아래 그림과 같이 코드를 작성합니다.


qt_06.png




[include path 추가]


일반적으로 Qt에서 제공하는 클래스는 클래스명과 include 파일명이 똑같습니다. "QString"이라는 파일을 Qt 설치 폴더 아래에서 검색을 하여 Visual Studio Project 옵션에서 해당 path를 Additional Include Directories에 추가시켜 줍니다. 일반적으로 <QtDir>\include 폴더는 기본적으로 추가를 시키고 해당 클래스별로 검색하여 별도의 path를 추기시켜 주면 됩니다.


qt_07.png




[library 추가]


QString은 QtCore 모듈에 포함이 되어 있으며, 관련 lib 파일을 링크시켜 줍니다. 링크를 시켜야 하는 Qt lib 파일명은 다음과 같은 구조를 가집니다.


Qt<version><module name><debug>.lib


본 프로젝트에서는 Qt5Cored.lib 파일을 링크를 걸도록 합니다.


qt_08.png





[실행]


Visual Studio에서 빌드를 하고 실행을 시킵니다. dll 관련 에러가 나는 경우 <QtDir>\bin 폴더를 시스템 path에 추가를 시켜 주면 됩니다.


qt_09.png




이로써 Qt에서 제공하는 클래스를 Visual Studio에서 직접 사용하는 예제에 대한 설명을 마치겠습니다.