이 글은 이미 왕초보 게시판에 "따라하기 시리즈"에 올려진 글입니다. 그럼에도 다시 글을 올리는 것은 QT용 게시판이 따로 있어서 글을 보시는데 편의를 드리고자 이곳에 다시 올렸습니다.

이전에도 이미 QT 2.x.x와 3.x.x 버전을 설치하는 방법과 각 버전에 따라 프로그램을 작성하는 방법에 대해 말씀을 드렸습니다만 이번에 다시 4.3.3 설치기를 말씀드리는 이유는,

  • 이전의 3.x.x 와는 디자이너부터 프로그래밍하는 방법에 까지 많이 달라졌고,
  • QT를 전문으로 하시는 분들께서 3.x.x 버전 보다는 4.x.x 버전을 사용하라는 권고 때문에
  • 저도 QT를 4.x.x 버전으로 바꾸었습니다.
  • 이런 사정으로 앞으로 QT에 대한 글도 4.x.x 가 위주가 될 것으로 생각됩니다.

이런 이유로 QT4 설치 방법을 올리게 되었습니다.

QT4에 대해서 저 개인적으로는 화려해진 QT4가 예뻐 보이지만은 않습니다. 왜냐하면 QT 3.x.x 버전은 프로젝트를 관리해 주지만 4.x.x 버전부터는 프로젝트 메뉴 자체가 없습니다. QT 4.x.x 의 상용버전에는 있는지 모겠습니다만 open source 에는 디자이너에는 디자인 기능 뿐이 없었습니다.

이러다 보니, QT3에서는 프로젝트 파일과 메인 소스 파일을 만들어 주고 사용자 슬롯도 디자이너에서 만들어서 시그널을 바로 연결할 수 있는 등, 마치 Rapid 개발툴을 사용하는 듯했습니다만 QT4에서는 오로지 디자인 기능만 있어서 프로젝트 파일부터 메인 파일까지 모두 직접 만들어 주어야 합니다.

QT3에서 사용자 슬롯 함수를 만들고 디자이너에서 시그널을 연결하던 편리함에서 QT4에서는 직접 코드를 입력해 주어야하는 불편함이 있지만, 대신에 내 손에 익은 에디터를 이용할 수 있고, 원하는 소스에 슬롯이나 멤버함수를 나누어 코딩할 수 있다는 장점이 있다고 생각합니다. 그러나 기회가 된다면 상용 QT를 사용해 봐야 겠습니다.

QT4 내려받기

이번에는 QT를 설치해 보겠습니다. QT는 ftp를 이용하여 내려 받는 것이 편합니다. ftp.trolltech.com에 연결하신 후, /qt/source로 들어 가신 후 X11 용과 임베디드용 두 개의 버전을 내려 받습니다.

  • X11 용: qt-x11-opensource-src-4.3.3.tar.gz
  • 임베디드용: qtopia-core-opensource-src-4.3.3.tar.gz

이 글을 작성하는 시점에서 버전은 4.3.3 입니다.

ftp 로 내려 받으면 편리합니다만, 가끔 ftp로 연결이 안되는 경우가 있습니다. 이럴 때에는 홈페이지에서 TrollTech Downloads 페이지를 이용합니다. 다운로드 페이지로 이동한 후 "Goto OpenSource Downloads" 페이지로 이동합니다. QT는 다중 플랫폼을 지원하기 때문에 내려 받을 수 있는 제품이 매우 다양합니다.

그중에 Qt Open Source Edition for C++ Developers: X11 Download를 선택합니다.

제가 내려 받은 버전은 qt-x11-opensource-src-4.3.3.tar.gz 입니다.

그리고 임베디드 보드를 위해 Qtopia Core Open Source Edition 을 내려 받습니다.

역시 같은 버전대인 qtopia-core-opensource-src-4.3.3.tar.gz 를 내려 받았습니다.

QT 설치하기

Linux의 터미널로 들어가서 적당한 곳에 압축파일을 풀어 놓습니다. 앞으로 저는 이 압축파일을 가지고 x11 용과 emabedded-arm 용을 위해 2가지를 설치하도록 하겠습니다. 즉, 하나는 x11에서 사용할 qt를, 또 하나는 embedded-arm을 위한 qt를 설치하고 작업에 따라 x11이나 arm 용으로 선택하도록 하겠습니다.

그리고 설치 장소를 아래와 같이 하겠습니다.

설치 장소 설치 내용
/qt4/qt-x11 x11을 위한 qt
/qt4/qt-arm arm을 위한 qt

이전 강좌에 올린 QT 설치기를 보시면 매우 복잡하고 어지럽습니다. 설치 중에 에러도 많이 나구요. 그러나 "따라하기 시리즈"를 그대로 따라해 오셨다면, 그리고 QT4를 설치하신다면 정말 놀라울 정도로 한방에 설치가 완료됩니다. 다만 시간이 무지하게 오래 걸릴 뿐입니다.

리눅스에 대해서
  • 리눅스를 하면서 어려운 점이 한두가지가 아닙니다만 뭐 하나 설치하려고 해도 쉽지가 않을 때에는 매우 힘들더군요. 뭐, 예전에는 리눅스를 설치하는 것 자체가 힘들었지만 말이죠.
  • 무엇을 하기보다는 설치했다는 대에서 기쁨을 느겼습니다. 그러나 QT 같은 경우는 개발환경이기 때문에 이게 설치가 되어야 뭘 할텐데 설치부터 막히니 답답할 수 밖에요.
  • 내려받는 소스의 버전에 따라서 에러가 나고 시스템에 설치된 라이브러리의 버전도 영향받고, 알지 못하는 라이브러리가 없어서 에러나고, 또 황당한 에러를 분석해 보면 컴파일러 버전 차이로 발생하고. 뭐가 이렇게 힘드냐 생각했습니다만 개발해서 배포하는 사람의 고통도 대단하겠다라는 생각이 들더군요.
  • .

x11용 qt 설치

저는 /tmp에 qt-x11-opensource-src-4.3.3.tar.gz를 내려 받았습니다. 그리고 아래의 명령으로 풀었습니다.

]# tar zxvf qt-x11-opensource-src-4.3.3.tar.gz

정상적으로 풀리면 풀린 디렉토리로 들어가서 x11로 설치하기 위해 환경부터 잡습니다. x11은 설치 옵션이 간단하죠. 설치 위치만 지정했습니다. 라이센스에 동의합니다.

]# cd qt-x11-opensource-src-4.3.3 
]# ./configure --prefix=/qt4/qt-x11
This is the Qt/X11 Open Source Edition.

You are licensed to use this software under the terms of either
the Q Public License (QPL) or the GNU General Public License (GPL).

Type 'Q' to view the Q Public License.
Type 'G' to view the GNU General Public License.
Type 'yes' to accept this license offer.
Type 'no' to decline this license offer.

Do you accept the terms of either license? yes

작업이 완료되면 컴파일과 설치를 합니다. gmake 와 gmake install 을 실행합니다.

Qt is now configured for building. Just run 'gmake'.
Once everything is built, you must run 'gmake install'.
Qt will be installed into /qt4/qt-x11

To reconfigure, run 'gmake confclean' and 'configure'.

]# gmake

     시간이 엄청 걸림

(test -z "../../bin/" || cd "../../bin/" ; targ=`basename ../../bin/qtdemo`; objcopy --only-keep-debug
"$targ" "$targ.debug" && objcopy --strip-debug "$targ" && objcopy --add-gnu-debuglink="$targ.debug"
"$targ" && chmod -x "$targ.debug" ) ;
gmake[2]: Leaving directory `/tmp/qt-x11-opensource-src-4.3.3/demos/qtdemo'
gmake[1]: Leaving directory `/tmp/qt-x11-opensource-src-4.3.3/demos' 이와 같이 에러없이 종료되었다면 성공입니다. 휴~ 저 같은 경우 거의 3시간 정도 걸린듯 합니다. ^^; gmake instll로 이제 설치를 합니다.
]# gmake install 그래도 이 작업은 gmake 보다는 빨리 끝납니다. cp -f -r /tmp/qt-x11-opensource-src-4.3.3/mkspecs/win32-msvc /qt4/qt-x11/mkspecs/ cp -f -r /tmp/qt-x11-opensource-src-4.3.3/mkspecs/win32-msvc.net /qt4/qt-x11/mkspecs/ cp -f -r /tmp/qt-x11-opensource-src-4.3.3/mkspecs/win32-msvc2005 /qt4/qt-x11/mkspecs/ ]# 이렇게 에러없이 종료되면 성공입니다.

에러 없이 끝나다면 일단 성공입니다. 잘 설치되었는지 확인은 arm 설치까지 끝내고 하겠습니다.

arm 용 qt 설치하기

이번에는 tmp 에 qtopia-core-opensource-src-4.3.3.tar.gz 에 풀기를 했습니다. 그리고 환경을 잡아야 하는데 x11과는 달리 매우 옵션이 매우 깁니다. 혹시 복사해서 사용하실 분이 있을 지 몰라 아래에 따로 적습니다.

./configure -prefix /qt4/qt-arm -embedded arm -little-endian -release -no-largefile -no-accessibility -no-qt3support -qt-zlib -qt-gif -qt-libpng -no-libmng -qt-libjpeg -no-nis -no-cups -qt-freetype -depths 16,24,32

이중에 -prefix /qt4/qt-arm 과 -embedded arm 을 Target 보드의 cpu 에 맞추어 입려하시면 되겠습니다. /qt4 에 cpu 에 맞추어 설치하시면 타켓 보드에 맞추어진 여러 개의 qt 를 설치할 수 있겠지요. ^^

]# tar zxvf qtopia-core-opensource-src-4.3.3.tar.gz
]# ./configure -prefix /qt4/qt-arm -embedded arm .... -depths 16,24,32

     이후에 설치하는 방법은 x11과 동일합니다.

]# gmake

     역시 무차케 오래 걸립니다.
	 
]# gmake install

역시 아무런 에러없이 종료되었다면 성공적으로 설치된 것입니다.

설치가 제대로 되었는지 확인

이제 qt를 모두 설치했네요. 일단 설치가 제대로 되었는지 확인하려면 프로그램을 작성해서 실행해 보아야 겠지요. 제대로 설치되었다면 QT 디자이너를 실행할 수 있습니다. 디자이너를 실행하기 전에 X11을 위한 QT 환경부터 잡겠습니다.

/qt4 다렉토리에 아래의 스크립트를 준비합니다. 별다를 것 없습니다. 그냥 vi 로 만들거나 MS 윈도우에서 만들어서 복사해 주시면 되겠습니다. MS 윈도우에서 만드셨다면 파일 옵션을 utf-8로 변경하시고 저장하십시오.

]# cd /qt4
]# vi .qtx
#!/bin/bash
export QTDIR=/qt4/qt-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTINC=$QTDIR/include
export QTLIB=$QTDIR/lib
export qt_prefix=$QTDIR

     이제 저장하고 source 명령으로 환경을 설정합니다.

]# source .qte

     앞으로 X11용 qt로 작업할 때에는 source .qte를 실행 시킵니다.
     이제 디자이너를 실행해 보겠습니다.

]# designer

디자이너를 실행하면 아래와 같이 qt4 디자이너가 실행이 됩니다.

어떻게 잘 실행되나요? qt 를 이용하여 프로그램을 작성하면 되겠습니다. 프로그램을 작성은 내용이 길어질 듯해서 다음 시간에 하겠습니다.