이번 시간에는 제가 QT를 어떻게 설치했는지 말씀을 올리겠습니다. 따라하기 시리즈 강좌 글은 PC 포맷부터 시작하여 리눅스를 설치하면서 작성했기 때문에 지금까지 설명한 대로 설치하셨다면 저와 똑 같은 개발환경을 구축하신 것입니다. ^^

차이라면,

  • 리눅스를 담는 시스템과
  • 리눅스 로컬 IP
  • 사용자 이름,
  • 그리고 사용자 이름에 따른 삼바 공유 폴더 이름

정도가 아닐까 생각됩니다. ^^

QT 버전에 대하여 QT를 2.x 버전과 3.x 버전을 사용해 보았고 각 버전에 따라 설치하는 방법과 짧은 프로그램입니다만 각 버전에서 컴파일하는 방법을 소개했었습니다. 그러나 QT를 전문으로 하시는 분이 다른 버전보다 QT 4.x를 적극 권장해서 앞으로 저도 QT 4를 사용하려고 합니다. 이런 이유로 따라하기 글에서도 QT4를 중심으로 작성하도록 하겠습니다.

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-x11
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 .qtx

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

]# designer

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

어떻게 잘 실행되나요? QT가 제대로 설치되었는지 정확히 알기 위해서는 X11이나 임베디드 용 QT프로그램을 작성하고 각각의 환경에서 실행해 봐야 겠습니다만 내용이 너무 길어질듯 해서 다음 시간에 올리겠습니다. ^^;