본문 바로가기

My Project/교통정리로봇

[교통정리로봇] 프로젝트 문서 2. 관련연구(세번째)


 

(3) QT 설치

먼저 파일을 다운로드 합니다.

ftp://ftp.trolltech.com/qt/source

qt-embedded-free-3.3.3.tar.bz2          //(embedded/ARM용)

qt-x11-free-3.3.3.tar.bz2                       //(qvfb 생성용, ARM 가상실행)

위 파일들을 다운 받습니다.


■ qte (QT/Embedded(x86))설치 (qt-embedded-free-3.3.3.tar.bz2)

다운로드 받은 파일의 압축을 풀고, 푼 폴더의 이름을 쉽게 수정 후, root 안으로 이동 시킵니다.


================================================================================================

[root@localhost ~]# tar xvf qt-embedded-free-3.3.3

 [root@localhost ~]# mv qt-embedded-free-3.3.3 qte-3.3.3(이름을 알기 쉽게 수정 후 폴더를 이동)

[root@localhost ~]# mv qte-3.3.3 /root/

================================================================================================


그다음에 패스설정을 변경합니다. (.bash_profile)


================================================================================================

 [root@localhost ~]# export QTDIR=/root/qte-3.3.3

 [root@localhost ~]# echo $QTDIR                       (경로가 바뀌었는지 확인)

================================================================================================

 


한글출력에 대한 내용을 추가 시킵니다. vi 편집기로 src/kernel/qfont.cpp에 들어가서 1620번째 줄에 (int)를 추가시키면 됩니다.


================================================================================================

[root@localhost ~]# cd qte-3.3.3

[root@localhost qte-3.3.3]# vi src/kernel/qfont.cpp

================================================================================================

 

그 다음에 usr/share/fonts/local/korea/TrueType/에 있는 바탕체, 돋움체, 굴림체를

/root/qte-3.3.3/lib/fonts/에 복사해 넣는다.


================================================================================================

[root@localhost qte-3.3.3]# cd /usr/share/fonts/korean/TrueType

[root@localhost TrueType]# cp batang.ttf dotum.ttf gulim.ttf /root/qte-3.3.3/lib/fonts

================================================================================================

 


그리고 복사된 경로로 이동을 한 뒤에 다음 항목을 추가시킵니다.

 dotum dotum.ttf FT n 50 120 u

 batang batang.ttf FT n 50 120 u

 gulim gulim.ttf FT n 50 120 u


================================================================================================

 [root@localhost TrueType]# cd /root/qte-3.3.3/lib/fonts

[root@localhost fonts]# vi fontdir

================================================================================================

 

================================================================================================

*참고

[name] [file] [renderer] [italic] [weight] [size] [flage]

name : 폰트이름

file : 파일명

renderer : BOF or FT (폰트 포맷이 BDF혹은 FT(Free Type형식, TTF등)

italic: y or n (이탤릭 형식)

weight : 폰트 넓이 (50은 일반, 75는 굵은 폰트)

size : 폰트크기 * 10 (폰트가 12포인트라면 12 * 10 = 120)

flage : s or u or a (s는 smooth폰트(anti-aliased)),

                    (u는 유니코드 폰트(기본은 Latin 1),

                    (a는 아스키코드 (기본은 Lain 1))

================================================================================================


다시 qte-3.3.3경로로 이동을 하여  configure를 하고 컴파일(make)을 시킵니다.


================================================================================================

[root@localhost fonts]# cd /root/qte-3.3.3

[root@localhost qte-3.3.3]# ./configure -shared -thread -no-cups -qvfb -no-ipv6 -qt-mouse-linuxtp -depths 16

[root@localhost qte-3.3.3]# make

================================================================================================


■ qtx설치하기(qt-x11-free-3.3.3.tar.bz2)


다운로드 받은 파일의 압축을 풀고, 푼 폴더의 이름을 쉽게 수정 후, root 안으로 이동 시킵니다.

================================================================================================

[root@localhost ~]# tar xvf qt-x11-free-3.3.3.tar.bz2

[root@localhost ~]# mv qt-x11-free-3.3.3 qtx-3.3.3

[root@localhost ~]# mv qtx-3.3.3/ /root/

[root@localhost ~]# cd /root/qtx-3.3.3

================================================================================================


그리고 편집기를 이용해서 .bash_profile을 수정해 줍니다.

================================================================================================

[root@localhost qtx-3.3.3]# vi ~/.bash_profile

================================================================================================

 

 위 부분을 추가해 주면됩니다. 편집한 설정을 현재 설정으로 적용시켜 줍니다.


================================================================================================

[root@localhost qtx-3.3.3]# source ~/.bash_profile

================================================================================================


그다음에 configure명령어를 사용하여 환경설정을 합니다. 


================================================================================================

 [root@localhost qtx-3.3.3]# ./configure -no-xft -depths 16

================================================================================================

라이센스를 물어보면 ‘yes’라고 입력을 합니다.


 


환경설정이 끝나면 make를 시킵니다. 먼저 make하기 전에 불필요한 건 컴파일 하지 않게 하기 위해

Makefile의 14번째 줄을 수정합니다. 수정할 내용은 sub-tools 뒤의 옵션은 지우는 것인데, 안 지워도

상관없지만 make시 조금의 시간을 단축 할 수 있습니다.


================================================================================================

[root@localhost qtx-3.3.3]# vi Makefile

================================================================================================

 

수정이 끝나면 바로 make를 시키면 됩니다.

================================================================================================

[root@localhost qtx-3.3.3]# make

================================================================================================


make가 다 되었다면 qvfb폴더로 이동하고 make를  합니다.


================================================================================================

[root@localhost qtx-3.3.3]# cd tools/qvfb

[root@localhost qvfb]# make

[root@localhost qvfb]# ./qvfb -depth 16

================================================================================================

 

위 그림은 qvfb가 실행된 이미지 입니다.

qvfb는 보드에서 보일 내용을 컴퓨터에서 미리 확인을 할 수 있도록 보여주는 역할을 합니다.

일일이 qvfb경로를 찾아가서 실행시키기엔 너무나 불편하기 때문에, PATH를 걸어주거나 /usr/bin에 복사를 해 두면 좋습니다.


================================================================================================

 [root@localhost qvfb]# cp qvfb /usr/bin

================================================================================================


qvfb로 한번 hello world를 띄워보자면, 밑의 명령어를 따라서 치게 되면 실행이 됩니다.


================================================================================================

[root@localhost /]# cd /root/qte-3.3.3

[root@localhost qte-3.3.3]# export QTDIR=/root/qte-3.3.3

[root@localhost qte-3.3.3]# cd examples/hello

[root@localhost ~]# qvfb -depth 16

[root@localhost hello]# ./hello -qws

================================================================================================

 

 여기에서 qws의 의미는 : QWS(Q Window System != X Window System) X의 프레임 버퍼를 사용하지 않고, 자체의 Window System을 사용.qt-win-xxx => mingw나 vcc를 이용해 컴파일 하여 윈도우에서 실행가능하게 해 줍니다.

qtopia-core 임베디드용. 리눅스 실행시 -qws 옵션 사용하여 qvfb상에서 실행. 상용버전의 소스파일중 _qws(ex : qsound_qws.c는 임베디드에만 있는 파일)

■ qta (ARM 용 QT/Embedded)설치 (qt-embedded-free-3.3.3.tar.bz2)


먼저 MV2440에 있는 arm9계열의 cpu에 맞게 컴파일을 하기 위해서 toolchain을 설치하여야 합니다.

toolchain 환경 설정 및 설치를 하려면 mv2440 CD 내용을 복사를 해야 합니다.


================================================================================================

[root@localhost]# cd /

[root@localhost /]# mkdir /toolchain

[root@localhost]# cd /MV2440/source/Linux/Toolchain

[root@localhost Toolchain]# cp * /toolchain

================================================================================================

꼭 위 명령어처럼 이렇게 할 필요는 없고 자신이 찾기 쉬운 곳에다 복사를 하면 됩니다.

크로스 컴파일 사용설정을 위해 /usr/local/arm을 만듭니다.


================================================================================================

[root@localhost]# mkdir -p /usr/local/arm

================================================================================================


복사를 한 cross_2.95.3.tar.bz2 압축을 푼 후 만들어진 2.95.3을 /usr/local/arm 경로에 옮긴다.


================================================================================================

[root@localhost]# cd /toolchain

[root@localhost toolchain]# tar jxvf cross_2.95.3.tar.bz2

[root@localhost toolchain]# mv 2.95.3/ /usr/local/arm

================================================================================================

그리고 헤더파일들을 바로 사용하기 위해 경로 설정을 합니다.


================================================================================================

[root@localhost toolchain]# export PATH=$PATH:/usr/local/arm/2.95.3/bin

================================================================================================


그리고 나서 이제부터 qta 설치를 시작합니다.

먼저, 압축을 풀고, 폴더 이름 수정 후 root에 이동시킵니다.


================================================================================================

[root@localhost ~]# tar xvf qt-embedded-free-3.3.3

[root@localhost ~]# mv qt-embedded-free-3.3.3 qta-3.3.3

[root@localhost ~]# mv qta-3.3.3 /root/

================================================================================================


나중에 컴파일 할 때 uic파일을 못 찾는다며 오류가 납니다. 그렇기 때문에 미리 uic파일을 복사합니다. 이전에 qte-3.3.3을 설치했다면, 경로 /root/qte-3.3.3/bin 에 uic파일이 생성 된걸 확인할 수 있습니다. 지금 설치할 qta-3.3.3/bin안에 복사합니다.


================================================================================================

[root@localhost ~]# cp /root/qte-3.3.3/bin/uic /root/qta-3.3.3/bin

================================================================================================


그리고 .bash_profile의 설정을 변경합니다.


================================================================================================

[root@localhost ~]# export QTDIR=/root/qta-3.3.3

[root@localhost ~]# echo $QTDIR

/root/qta-3.3.3

================================================================================================


그 다음 qta-3.3.3으로 이동하여  configure하고 라이센스를 물으면 'yes'를 치고, 다 끝났으면, 바로 컴파일(make)을 합니다.


================================================================================================

 [root@localhost ~]# cd qta-3.3.3

 [root@localhost qta-3.3.3]# ./configure -embedded ipaq -shared -depths 16 -no-cups -qt-libjpeg-qt-mouse-linuxtp

 [root@localhost qta-3.3.3]# make

================================================================================================

그리고 .bash_profile 내용을 수정 합니다.  ARM용 embedded도 설치했으니 나중에 export 명령을 계속 쓰는 수고를 덜기 위해 .bash_profile을 수정하는 것 입니다.


================================================================================================

[root@localhost qta-3.3.3]# vi ~/.bash_profile

================================================================================================


#for using QT

QTDIR=/root/qta-3.3.3

PATH=$QTDIR/bin:$PATH

MANPATH=$QTDIR/doc/man:$MANPATH

LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

 PATH = $PATH:/usr/local/arm/2.95.3/bin

Export MANPATH LD_LIBRARY_PATH


QTDIR=/root/qta-3.3.3 이것만 변경하면 됩니다. 그리고 현재 설정으로 적용시킵니다.


================================================================================================

[root@localhost qta-3.3.3]# source ~/.bash_profile

================================================================================================


이렇게 한 뒤 qta에 examples들을 데스크탑에서 실행하면 바이너리파일이라 실행할 수 없다고 나옵니다. 즉, 보드에서만 실행이 되는 것 입니다.