제 16 장 qt/embedded

16
제 16 제 QT/Embedded

Upload: fiona-rios

Post on 30-Dec-2015

110 views

Category:

Documents


1 download

DESCRIPTION

제 16 장 QT/Embedded. 목 차. QT/Embedded 개요 QT/Embedded 설치 QT/Embedded 어플리케이션 실행. QT/Embedded 의 개요. 개요 Trolltech 사에서 개발 기본적으로 요구되는 메모리 사양은 1Mbytes ~ 5Mbytes 지원 되는 플랫폼 : i386, ARM, MIPS, PowerPC, MC68000 Framebuffer 를 지원하여 X11 이 없어도 된다. QT/Embedded 설치. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 제 16 장  QT/Embedded

제 16 장 QT/Embedded

Page 2: 제 16 장  QT/Embedded

2

목 차

QT/Embedded 개요 QT/Embedded 설치 QT/Embedded 어플리케이션 실행

Page 3: 제 16 장  QT/Embedded

3

QT/Embedded 의 개요 개요

Trolltech 사에서 개발 기본적으로 요구되는 메모리 사양은 1Mbytes ~ 5Mbytes 지원

되는 플랫폼 :

i386, ARM, MIPS, PowerPC, MC68000 Framebuffer 를 지원하여 X11 이 없어도 된다 .

Page 4: 제 16 장  QT/Embedded

4

QT/Embedded 설치 QT/Embedded 설치 및 환경설정 - 다운로드 ftp://ftp.trolltech.com/qt/source

- 압축을 푼다 . $ tar xvfz qt-embedded-3.3.3.tar.bz2

Page 5: 제 16 장  QT/Embedded

5

QT/Embedded 설치 환경설정

host QTDIR : Qt 가 설치되어 있는 디렉토리 LD_LIBRARY_PATH : Qt 에서 사용하는 공유 라이브러리가

있는 디렉토리 ~/.bash_profile 에 추가 후 , 적용

$ source  ~/.bash_profile 실행

PATH=$PATH:$HOME/bin

export QTDIR=/root/qt/qte-3.3.3export PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib

Page 6: 제 16 장  QT/Embedded

6

QT/Embedded 설치 터치스크린 인식시키기

터치스크린 디바이스 노드 /dev/ts 를 불러오도록 수정

/qte-3.3.3]# vi /src/embedded/qmouselinuxtp_qws.cpp

Page 7: 제 16 장  QT/Embedded

7

Configuration Makefile 편집 :

all:symlinks src-qmake src-moc sub-src 만 남기고 tools, exampes

등을 제거한다 .

QT/Embedded 설치

Page 8: 제 16 장  QT/Embedded

8

QT/Embedded 설치

Qt/Embedded Configuration $ ./configure –embedded ipaq –shared –depths 16 –

thread -no-cups –qt-mouth-linuxtp

configure 옵션

- shared : 공유라이브러리를 생성하고 사용할 때 - static : 정적라이브러리를 생성하고 사용할 때 - release : 배포시 - debug : 디버깅 정보 추가시

Configure 실행

- 라이센스에 동의 ? yes

Page 9: 제 16 장  QT/Embedded

9

QT/Embedded 설치

환경설정이 끝나면 Embedded ipaq 용으로 설정했으니 맨 윗줄의 build type에서 다음과 같이 나온다 .

Build on :   qws/linux-x86-g++ Build for :  qws/linux-ipaq-q++

Page 10: 제 16 장  QT/Embedded

10

QT/Embedded 설치

컴파일 라이브러리 설치 - 다운로드 파일 :qt_libstdc++-3libc6.1.2.2.10.0.so - 다운받은 파일을 심볼릭 링크

Page 11: 제 16 장  QT/Embedded

11

QT/Embedded 설치

UIB, QVFB 설치 웹사이트 :http://www.hybus.ent / 자료실 / 최신자료 / 에 있는 QT 소스를 /root/qt 에 다운 받는다 .

파일의 실행 권한을 확인하고 실행권한 주기

/bin]# cp /root/qt/uic .//bin]# cp /root/qt/qvfb .//bin]# chmod u+x uic //실행 권한 주기/bin]# chmod u+x qvfb //실행 권한 주기

Page 12: 제 16 장  QT/Embedded

12

QT/Embedded 설치

컴파일 실행 $ make 컴파일이 끝났으면 Qt/Embedded 라이브러리를 확인 $ cd $QTDIR/lib /lib] $ll /lib] $file libqte-mt.so.3.3.3

아래 4 개 파일이 나오는지 확인

Page 13: 제 16 장  QT/Embedded

13

QT/Embedded 어플리케이션 실행

QT/Embedded 어플리케이션 컴파일

이제 응용 프로그램을 컴파일해서 실행시켜보자 . 우선 qte-3.3.3 디렉토리 내에 /root/qt-3.3.3/examples/hello/ 에 가서 hello 프로그램을 컴파일하여 타깃보드에

올린다 .

# make // 컴파일 # file hello //file 명령으로 ARM 용으로 컴파일된 실행 파일을 확인한다 . 'libqte-mt.so.3.3.3: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not

Page 14: 제 16 장  QT/Embedded

14

QT/Embedded 어플리케이션 실행

nfs 셋팅 컴파일한 qt-3.3.3 디렉토리와 /qt_libstdc++-3-libc6.1-2-10.0.so

를 타겟보드에서 마운트할 nfs 디렉토리로 복사한다 . 이제 타겟보드에서마운트한다 .

타겟보드의 QT/Embedded 환경 설정 export QTDIR=/mnt/nfs/qte-3.3.3 export LD_LIBRARY_PATH=/mnt/nfs/qte-3.3.3/lib:$LD_LIBRARY_PATH

export QWS_MOUSE_PROTO=linuxtp:/dev/ts

위의 3 개의 파일을 export 실켜준다 .

Page 15: 제 16 장  QT/Embedded

15

QT/Embedded 어플리케이션 실행

ARM 라이브러리 설치

마운트 되어있는 /mnt/nfs/ qt_libstdc++-3-libc6.1-2-10.0.so 를 심볼릭 링크한다 .

Page 16: 제 16 장  QT/Embedded

16

QT/Embedded 어플리케이션 실행

예제 프로그램 실행

X-server 관련된 데몬을 전부 정지 시킨다 .

# kill -9 {x-server daemon}

이미 마운트 되어 있는 디렉토리로 이동하여 예제 프로그램을 실행한다 . /root]$ cd /mnt/nfs/qte-3.3.3/examples/hello /hello]$ ./hello -qws

프로그램을 실행시키면 프레임버퍼 디바이스를 통해 LCD 로 "Hello World" 라고 출력

되면 성공이다 .