QT - 저의 QT Embedded 개발환경

[출처] http://forum.falinux.com/zbxe/index.php?document_srl=406324&mid=graphic

장길석 2007.09.09 16:31:55

QT를 처음 학습할 때에는 QT/X11, QT/Embedded, QTopia 모두 설치해야 되는 줄 알았습니다. 그리고 반드시 QVFB를 준비해야되는 줄 알았습니다. 그러다 보니 설치 방법이 복잡하고 시간이 많이 걸렸죠. 거기다가 QT/X11, QT/Embedded, QTopia 세가지 프로그램에 대해 궁합이 맞는 버전으로 설치하려고 다시 설치하기를 여러 번했습니다.

더욱 한심한 것은 타겟 보드에 QT 프로그램을 실행하기 위해서는 QTopia를 설치했을 때 생성되는 이미지 파일이 반드시 있어야만 되는 줄 알았습니다. 즉, QTopia의 이미지 파일을 타겟 보드에 복사해 주어야 QT로 작성된 프로그램이 실행되는 줄 알았습니다. 웹에 의존하다 보니 귀동량을 완전히 엉뚱하게 했습니다.

그러나 실제 타켓 보드에는 QT/Embedded를 설치하면 생성되는 lib 디렉토리의 파일만 복사해 주면 되기 때문에 저 같은 경우 QTopia가 필요 없고, 대신에 PC에서 디버깅 하기 위한 QT/X11과 임베디드 용으로 컴파일하기 위한 QT/Embedded만 필요했습니다.

제가 사용하는 QT/X11은 QT 3.x.x 버전인데, 최근 리눅스를 설치하면 선택하여 바로 설치가 가능하기 때문에 별 다른 어려움이 없습니다. 그러므로 실제 설치하는 것은 QT/Embedded 3.3.8 뿐입니다. 즉, 가장 간단한 방법이 되겠습니다.

QT/X11이 없으시다면 리눅스의 패키지 관리자를 이용하시면 쉽게 설치하실 수 있습니다.

968-qt.png

필요 파일 다운로드

ftp.trolltech.com - /qt/source/qt-embedded-free-3.3.8.tar.gz

E2fsprogs Ext2 Filesystem Utilities - e2fsprogs-1.40.2.tar.gz

ftp.scarlet.be - pub/freeware/SOURCES/jwpg-6b.tar.gz

압축 풀기

저는 QT를 /qt에 설치합니다. 즉, QT/Embedded를 타켓 보드에 맞추어 /qt 밑에 생성합니다. QT arm용을

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

]# cd /                                           <- root 디렉토리로 이동 
]# mkdir qt                                       <- /qt/ 디렉토리 생성
]# cd /qt <- /qt/ 디렉토리로 이동
]# zxvf /download/qt-embedded-free-3.3.8.tar.gz
]# mv qt-embedded-free-3.3.8/ qte-3.3.8-arm
]# tar zxvf /download/e2fsprogs-1.40.2.tar.gz
]# tar zxvf /download/jpeg-6b.tar.gz

uuid, jepg 라이브러리 설치

   arm 용 uuid  라이브러리 설치

]# cd /qt/e2fsprogs-1.40.2
]# ./configure --prefix=/usr/arm-linux --host=i386 --target=arm --enable-elf-shlibs --with-cc=arm-linux-gcc
]# make
]# make install
]# make install-libs

   arm 용 jpeg 라이브러리 설치

]# cd /qt/jpeg-6b
]# ./configure
]# vi Makefile 


    아래의 내용을 수정합니다.


   prefix = /usr            -> prefix = /usr/arm-linux
   CC = cc                  -> CC= arm-linux-gcc
   AR = ar rc               -> AR = arm-linux-ar rc
   AR2 = ranlib             -> RANLIB = arm-linux-ranlib

]# make 
]# make install-lib  

환경 파일 생성

]# cd /qt
]# vi .qte
#!/bin/bash
export QTDIR=/qt/qte-3.3.8-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

QT-Embedded 설치

]# source /qt/.qte
]# cd $QTDIR/bin
]# cp /usr/lib/qt-3.3/bin/uic .
]# cd ..
]# ./configure -embedded arm -system-jpeg -shared -thread -no-cups -no-ipv6 -qvfb -depths 16 

    라이센스에 yes

    Building on:   linux-x86-g++-shared
    Building for:  linux-arm-g++-shared

    Thread support..................... no
    Configuration...................... qconfig-qpe.h

]# make

                             :

     Note: be sure to set $QTDIR to point to here or to wherever
           you move these directories.

     Enjoy!   - the Trolltech team

     make[1]: Leaving directory `/qt/qte-arm'

]# cd lib
]# file libqte.so.2.3.10
libqte.so.2.3.10: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped
    -> 이렇게 ARM 용 파일이 만들어 졌다면 OK

    arm용 qpe에서도 jpeg 와 uuid 라이브러리를 사용할 수 있도록 라이브러리를 복사합니다.

]# cp /usr/arm-linux/lib/libuuid.* .
]# cp /usr/arm-linux/lib/libjpeg.* .
]# cp /usr/arm-linux/lib/libstdc++.so.5 .

arm 보드에서 QT 프로그램 실행

arm 보드에서 /app/qt/lib로 QT/Embedded lib를 복사한다고 가정하겠습니다.

   QT/Embedded의 lib 디렉토리를 통째로 타켓 보드에 복사하면 되는데,
   cp 명령을 사용하면 링크파일까지 일반 파일로 복사되기 때문에
용량이 무척 커지게 됩니다. 그러므로 반드시 tar를 이용하여 압축한 후에 타겟 보드에서 풀기를 합니다.
]# tar zcvf /공유폴더/qt-arm-lib.tar.gz /qt/qte-3.3.8-arm/lib 이제 arm-board 를 부팅하고 Host PC와 nfs로 연결합니다. [이 부분부터는 arm-board에서의 작업 내용입니다.] ]$ mount -t nfs -o nolock 192.168.10.50:/공유폴더 /mnt/nfs ]$ mkdir /app/qt ]$ cd /app/qt ]$ tar zxvf /mnt/nfs/qt-arm-lib.tar.gz QT 프로그램을 위해 환경 설정을 합니다. 또는 파일을 만들어 놓습니다.
]$ export QTDIR=/app/qt
]$ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH Arm 보드에서 예제 프로그램 실행 보겠습니다. QT/Embedded가 설치된 디렉토리 안을 보시면 example/hello 디렉토리에 이미 hello 실행파일이 있습니다. 이 실행 파일을 공유 폴더에 복사한 후에 arm 보드에서 /mnt/nfs 디렉토리에서 직접 실행해 보십시오. ]$ /mnt/nfs/hello -qws

 

태그: *QT *그래픽









본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
22 [Raspberry Pi] 라즈베리파이 : 10 Uses for a Raspberry Pi in Manufacturing : 제조 분야에서의 라즈베리파이의 10가지 용도 file 졸리운_곰 2024.12.28 215
21 [Raspberry Pi] 라즈베리파이 GPIO 포트 ( LED, 버튼 ) 제어 file 졸리운_곰 2024.01.02 275
20 [Raspberry Pi] 라즈베리파이 GPIO file 졸리운_곰 2024.01.02 205
19 [Raspberry Pi] 2020년에 Raspberry Pi에서 실행할 수 있는 20가지 최고의 운영 체제 file 졸리운_곰 2024.01.02 191
18 [Raspberry Pi] 라즈베리파이 클러스터(병렬연결) file 졸리운_곰 2024.01.02 260
17 [라즈베리파이] 라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (4) - 한글 설정 file 졸리운_곰 2021.07.10 475
16 [라즈베리파이] 라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (3) 최적화 하기(raspi-config) file 졸리운_곰 2021.07.10 208
15 [라즈베리파이] 라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (2) - 이미지 size 늘리기 file 졸리운_곰 2021.07.08 207
14 [라즈베리파이] 라즈베리파이 에뮬레이터 설치(QEMU) - raspbian jessie (1) 프로그램설치 file 졸리운_곰 2021.07.08 209
13 Installing Latest Tensor flow and Keras on RASPBERRY PI file 졸리운_곰 2019.11.12 285
12 라즈베리파이 qemu : Raspberry Pi Emulator for Windows 10 file 졸리운_곰 2019.11.05 678
11 Raspberry Pi 3에 LAMP (Linux, Apache, MySQL, PHP) 설치하는 방법 file 졸리운_곰 2019.10.30 258
10 라즈베리파이에 OpenCV와 텐서플로(Tensorflow) 설치하기 file 졸리운_곰 2019.10.25 435
9 라즈베리파이 아두이노 연동 file 졸리운_곰 2019.10.25 517
8 TensorFlow 1.9 Officially Supports the Raspberry Pi : 라즈베리파이에서의 공식적인 텐서플로 사용 file 졸리운_곰 2019.03.18 304
7 라즈베리파이 Raspberry Pi 3 Model B+ 회로도 : raspberry pi schematic file 졸리운_곰 2019.03.17 1375
6 [Yocto] 욕토 프로젝트의 참고 링크 (학습링크) 졸리운_곰 2015.11.07 563
5 라즈베리파이 강좌모음 링크 file 졸리운_곰 2014.11.11 2938
4 라즈베리파이 클러스터 구축 : Clustering on RaspberryPi.pdf file 졸리운_곰 2014.11.11 658
3 라즈베리 파이 커널 소스 컴파일 하는 방법 졸리운_곰 2014.09.07 617
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED