Windows + eclipse + CDT + GNU + QT 개발환경 만들기

1 Windows 환경에서 eclipse+QT 개발 환경

kdevelop(12)와 qt desginer 를 이용하면 상당히 높은 수준에서 QT 애플리케이션의 제작이 가능하다. 그러나 kdevelop는 kde가 설치된 Unix 환경에서만 사용가능하다는 단점이 있다. 윈도우 환경에서도 kde환경을 만들고 그 위에서 kdevelop를 띄울 수 있다는 얘기를 들은 적이 있긴 하지만 일반적인 개발환경이라고 볼 수는 없을것이다.또다른 대안은 VC++에서 QT응용을 개발하는 것이다. 실제 QT4.0 상용버젼을 보면 VC++과 함께 개발이 가능하도록 배포가 되고 있다. 그러나 역시 단점이 있는데, VC++은 단지 윈도우 환경에서만 작동한다는 점이다.이런 점에서 eclipse(12)는 훌륭한 대안이 될 수 있다. 이클립스는 대부분의 운영체제에서 사용가능한 매우 훌륭한 IDE이다. 확장성 또한 매우 훌륭해서, 최초에 Java 개발 플렛폼을 목적으로 만들어 졌음에도 불구하고 C/C++과 같은 언어를 위한 IDE로도 충분히 활용가능 하도록 지원되고 있다.

1.1 이클립스 C/C++ 개발 환경 설정

이클립스는 C/C++ 개발환경을 위해서 CDT(12) 모듈을 지원하고 있다. CDT에 대한 내용은 eclipse CDT 개발환경 만들기를 참고하기 바란다. 전체적으로는 eclipse + CDT + QT4.0 + MinGW(12) 를 개발환경으로 할 것이다.

1.2 QT4.0 open source 버젼

QT는 두가지 라이센스 정책을 유지하고 있다. 상용 애플리케이션을 제작하길 원한다면 비용을 지불하고 상용라이센스를 구입해야만 한다. 그렇지 않고 open source 애플리케이션만을 제작하기 원한다면 비용을 지불할 필요없이 자유롭게 사용가능하다. http://www.troll.no 에서 다운받을 수 있다.여기에서는 QT4.0 open source버젼을 기준으로 설명하도록 하겠다.

2 Tutorial

Tutorial을 위한 소스코드는 QT4.0 문서의 셈플로 하겠다.

/****************************************************************
**
** Qt tutorial 1
**
****************************************************************/

#include
#include 

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QPushButton hello("Hello world!");
hello.resize(100, 30);

hello.show();
return app.exec();
}

2.1 Project 생성

메뉴에서 FILE > New > Project를 선택하면 Project wizard가 실행된다. C++/Standard Make C++ Project를 선택한다. 프로젝트 이름은 MyQT로 하겠다. main.cc를 위의 예제대로 작성한다음 저장한다.

2.2 qmake를 이용한 Makefile 생성

qmake를 이용해서 .pro 파일을 만들고, 만들어진 .pro 파일로 부터 Makefile를 생성하도록 한다.

$ qmake -project
$ qmake

명령을 실행하고 나면 Makefile.Debug와 Makefile.Release가 생성된걸 확인할 수 있을 것이다. Makefile.Debug는 디버깅 모드로 컴파일 하기 위한 컴파일 옵션이 있다는 것을 제외하고는 Makefile.Release와 동일하다.

그런데 Makefile.Debug 파일을 이용해서 디버깅 코드를 만들경우 제대로 컴파일이 되지 않는 것을 확인했다. Makefile을 확인해본 결과 링크되어 있는 디버깅용 qtlib가 $QTDIR/lib에 존재하지 않는 다는 것을 확인했다. open source 용이라서 일부러 빼논건지, 아니면 아직 초기버젼이라서 빠져있는 지는 확실히 알 수 없었다. 확인 될때까지는 디버깅을 할 수 없을 것 같다. 아마도 상용버젼은 디버깅도 가능하리라 생각된다.어쨋든 그래도 컴파일은 되게 해놓아야 하니 Makefile.Release 를 Makefile.Debug로 변경한다음에 Target 파일이 생성되는 디렉토리 위치만 다르도록 수정을 했다.

2.3 build

이제 Build를 할 차례다. Build를 하기전에 Project > Propertise를 선택해서 빌드 환경을 설정하도록 한다. 다른건 신경쓸 필요 없고 C/C++ Make ProjectBinary Parser부분만 수정하도록 한다. 이클립스는 실행파일을 인식할 때 Binary Parser에 체크된 형식의 파일만을 인식할 수 있다. 만약 체크안된 실행파일을 실행할 경우 Run할때 에러가 발생함으로 체크를 해두고 넘어가도록 한다. 그냥 모두다 체크하도록 한다. snap9.gif

이제 Project > Build All을 선택해서 빌드를 종료하도록 한다.

2.4 Run

빌드가 종료되었다면 Run을 이용해서 실행시켜보도록 한다.

snap10.gif

댓글 남기기