Code::Blocks + QT4 + MinGW 설치 (이존석-hasu0707@gmail.com)
------------------------------------------------------------------------------------------
Code::Blocks를 사용하기 전에
윈도우에서 QT4를 빌드하기 위해서 적합한 IDE를 찾던중에
Visual Studio 6와 Eclipse 3.3 + CDT 버전을 테스트해 보았음.
■ Visual Studio 6 :
- QT 오픈소스 버전이 공식적으로 지원을 하지 않음.
- 그래도 한번 빌드 해보기로 했음.
- QT 소스는 빌드가 되었으나 Hello 테스트중 QT include file에서 102개의 에러가 발생하여 지원안함을 확인했음. 그리고 각 include 디렉토리를 VS 디렉토리 옵션에 추가해 줘야 하는데, 귀찮아서 도저히 못하겠으므로 포기. (지원안함은 configure.exe --help 에서 확인가능함)
- VS를 지원하게하는 패치가 비공식적으로 존재하기는 하나 QT4.3.0 버전은 패치가 이상없이 되었으나 QT4.3.3은 패치중 오류나고 빌드시에도 오류가 발생함.
- 정식버전은 VS를 공식적으로 지원함.
■ Eclipse 3.3 + CDT :
- 일단 느리고 덩치크고, 에디터가 마음에 좀 안들기는 하지만 그래도 Eclipse 니까...
- 일단 설정이 복잡함.
- QT4에서 QT Eclipse Integration 이라고 Eclipse를 지원하기는 하나, Eclipse 구버전에 적용되어 있고 eclipse 구버전은 CDT에 버그가 많음.
- QT4 는 qmake 라는 독자적인 빌드 프로젝트 관리자를 사용하는데, 이 qmake를 Eclipse에 적용시키기가 까다롭고, 적용시키더라도 빌드시에 불편함. IDE가 편하자고 하는건데 아무리 Eclipse 라도 불편하면 사용목적에 위배되므로 탈락.
------------------------------------------------------------------------------------------
그래서... Code::Blocks를 사용하기로 결정함.
■ Code::Blocks의 장점
- wxWidget(LGPL) 이라는 QT같은 GUI 엔진을 사용해 개발된 소프트웨어
- 여러 플랫폼에서 사용이 가능 (현재는 리눅스와 윈도우만 바이너리 지원)
- QT를 비롯해 wxWidget등의 다양한 개발프로젝트 지원
- 아직 많지는 않지만 아기자기한 플러그인들 지원
- 직관적인 환경설정으로 Eclipse 처럼 난해한 환경변수들이 별로 없음
- 전체적으로 복잡하지 않고 단순한편
- 빠른속도와 작은크기
- 오픈소스 소프트웨어
■ Code::Blocks의 단점
- Eclipse 같이 이름만으로도 신뢰가 가고 있어보이는 그런 무게감은 없음.
- 역사가 길지않아 알지 못하는 버그 존재 가능성이 많음.
- 기능이 아직까지는 타 상용 IDE 환경보다는 미약함
- 설정 부분이 심플해서 좋긴한데 세세한 설정 항목은 없는편. (특히 에디터 부분)
------------------------------------------------------------------------------------------
■ 테스트 플랫폼 :
Windows XP Professional Edition
■ 사용된 버전 :
codeblocks-1.0rc2.exe (http://www.codeblocks.org/downloads.shtml)
qt-win-opensource-4.3.3-mingw.exe (ftp://ftp.trolltech.com/qt/source)
gdb-6.3-2.exe (ftp://gd.tuwien.ac.at/gnu/mingw/)
- MinGW(이하 밍위)는 QT 오픈소스 버전에서 묶어서 공급하는 버전이 있길래
그걸 그냥 사용했음. (인스톨 바이너리 형태로 공급되므로 QT를 별도로 빌드할 필요 없어서 편리함)
- gdb는 밍위에 같이 포함되어 있지 않으므로 별도로 다운로드 받아 설치함.
------------------------------------------------------------------------------------------
■ 작업 순서
1. QT4+밍위 설치
2. 윈도우 환경변수에 아래를 추가
QTDIR=c:\Qt\4.3.3
PATH=......;c:\Qt\4.3.3\bin;c:\MinGW\bin
3. gdb 설치
4. Code::Blocks 설치
5. Hello 프로그램 빌드 테스트
(1~4의 과정은 설명 생략)
■ Hello 프로그램 빌드 테스트
- File-New Project 에서
QT Application 타입으로 프로젝트 생성
그럼 아래와 같은 기본 템플릿 소스가 자동으로 추가되어 나오게 됨.
- Ctrl+F9를 눌러 빌드 시행
- 빌드하면 아래와 같은 오류 발생 !!
(Code::Blocks 버그로 ld시에 libQtAssistantClient4.a 를 참조해야 되는데
libQtAssistantClient.a를 참조해서 저런 오류 메세지가 발생)
- 프로젝트를 일단 닫고 프로젝트 디렉토리에서 QTapp.cbp에서
libQtAssistantClient.a를 libQtAssistantClient4.a로 수정해 주면 해결됨
- 영구적인 문제해결을 위해서는 QT의 프로젝트 템플릿인
c:\Program Files\CodeBlocks\share\CodeBlocks\templates\qt.cbp 를 수정해준다.