-
QT/E 개발 환경 구축정리필요2 2007. 11. 30. 06:31
QT/Embedded 설치하기
1. 우선 QT/Embedded를 설치하기 위한 설치파일을 다운받는다.
<< 필요 파일 목록 >>
1] qt-x11-2.3.2.tar.gz
(ftp://ftp.trolltech.com/qt/source/qt-x11-2.3.2.tar.gz)
2] qt-embedded-2.3.2.tar.gz
(ftp://ftp.trolltech.com/qt/source/qt-embedded-2.3.2.tar.gz)
3] tmake-1.8.tar.gz
(ftp://ftp.trolltech.com/freebies/tmake/tmake-1.8.tar.gz)
<< 설치 과정 >>
1] qt-x11-2.3.2.tar.gz 설치
1) qt-x11-2.3.2.tar.gz파일을 설치할 디렉토리로 옮기고 압축을 푼다.
# mkdir QT_E
# mv qt-x11-2.3.2.tar.gz /QT_E
# tar zxvf qt-x11-2.3.2.tar.gz2) 압축이 풀리면 qt-2.3.2라는 디렉토리가 생성된다.
Embedded용하고 혼동되지 않도록 qt-2.3.2를 qtx-2.3.2으로 변경한다.
# mv qt-2.3.2 qtx-2.3.2
# cd qtx-2.3.23) 환경파일 설정
사용자 계정 디렉토리의 .bash_profile파일에 다음을 추가한 뒤
설정된 패스를 적용시킨다.
QTDIR=/QT_E/qtx-2.3.2
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport QTDIR PATH MANPATH LD_LIBRARY_PATH
# source ./.bash_profile // 사용자 계정의 폴더4) 설정한 패스가 정용되었는지 etho명령어를 사용해서 테스트 한다.
# etho $QTDIR
# etho LD_LIBRARY_PATH5) 환경설정이 다 되었으면 configure를 실행한다.
실행뒤에 라이센스 동의를 묻는다. 이때 "yes"를 입력하면 Makefile이 생성된다.
Makefile이 생성된 뒤 make를 시킨다.
make의 과정은 컴퓨터의 사양에 따라서 몇 십분까지 걸릴 수 있다.
# ./configure
# make
-----------------------------------------------------------------------
- # 오류 발생에 대해서...
-----------------------------------------------------------------------
- make과정중 오류가 2개 뜨며 종료되면 메시지를 확인한다. 메시지를 확인하면
- g++프로그램이 설치되어 있지 않아서 발생하는 오류일 수도 있고, freetype.h를
- 찾을수 없다고 오류가 뜰 수도 있다. g++이 없다면 설치해 주어야 하며, freetype.h
- 파일을 찾을수 없다면 다음과 같은 과정으로 해결한다.
- /usr/include폴더에 freetype1, freetype2의 폴더는 존재하는데 freetype폴더는
- 존재하지 않을 것이다. 이때 freetype2/freetype폴더를 소프트 링크 시킨다.
-
- # ln -s /usr/include/freetype2/freetype /usr/include/freetype
-
-----------------------------------------------------------------------
2. QT Virtual Framebuffer(qtvb)설치
<주의사항>
다음단계에서 설치할 QT/Embedded소스에도 같은 qvfb가 존재하지만 이 qvfb는
올바르게 동작하지 않는다. 그래서 반드시 QT/X11용으로 컴파일된 것을 사용해야 한다.1) qtvb는 따로 설치프로그램이 존재하는 것이 아니라 qt-x11을 설치하면
자동으로 설치된다. 그럼 qtvf가 설치되어있는 디렉토리로 이동하여 메이크 시킨다.# cd /QT_E/qtx-2.3.2/tools/qvfb
# make2) 설치가 모두 되었다면 실행시켜 본다. 실행옵션은 640*480 크기에 컬러 수는
16비트이다.# ./qvfb -width 640 -height 480 -depth 16 &
3) 이제 qvfb프로그램의 위치를 PATH에 저장한다.
# cp QT_E/qtx-2.3.2/tools/qvfb/qvfb QT_E/qtx-2.3.2/bin
/root/.bash_profile파일에 아래의 문장을 추가한다.
PATH=/QT_E/qtx-2.3.2/bin:$PATH
export PATH-----------------------------------------------------------------------
- # 알아두기
-----------------------------------------------------------------------
- * Framebuffer
- Framebuffer는 원래 VESA라고 하는 비디오 장치를 생산하는 업체들의 표준 협의회라
- 할 수 있는 단체에서 정한 표준이다. 대략 97년도 정도 이후로 나오는 모든 비디오 장치들은
- 이 Framebuffer장치로 사용이 가능하다.- Framebuffer 장치는 그래픽 하드웨어를 위해 분리된 것이다.
- 그것은 어떤 비디오 하드웨어의 Framebuffer를 말하기도 하고, 그래픽 하드웨어에 접근하기- 위해 허락된 응용 프로그램을 말하기도 한다. 소프트웨어는 저 수준장치에 대해 어떤 것도
- 알 필요가 없고, 그러므로 소프트웨어 개발 시에 각각의 다른 비디오 하드웨어에 따라서
- 다르게 개발할 필요가 없다.
- * qvfb 프로그램
- 임베디드 기기에서는 X를 지원하지 못한다. X를 지원하기에는 기기의 성능이 부족하기- 때문이다. 그래서 기기에서는 비디오 출력을 위해서 비디오카드의 정보와는 독립적인
- 프레임버퍼를 사용한다. - 그래서 우리가 개발 HOST에서 QT를 이용해서 임베디드 기기용
- 어플리케이션을 개발할 때에는 이 어플리케이션이 Framebuffer상에서 실행시켜 봐야 한다.
- 이때 쓰이는 것이 바로 qvfb프로그램이다.
- qvfb는 X상에서 Framebuffer를 구현해 주는 역할을 한다.
-----------------------------------------------------------------------
3. QT/Embedded 설치
1) qt-embedded-2.3.2.tar.gz파일을 설치할 디렉토리로 옮기고 압축을 푼다.# mv qt-embedded-2.3.2.tar.gz /QT_E
# tar zxvf qt-x11-2.3.2.tar.gz2) 압축이 풀리면 qt-2.3.2라는 디렉토리가 생성된다. qt-2.3.2를 qte-2.3.2으로 변경한다.
# mv qt-2.3.2 qte-2.3.2
# cd qte-2.3.23) 환경파일 설정
사용자 계정 디렉토리의 .bash_profile파일에 이전에 설정했던 QTDIR부터 아래와 같이 수정한 뒤
설정된 패스를 적용시킨다.
QTDIR=/QT_E/qte-2.3.2
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport QTDIR LD_LIBRARY_PATH
# source ./.bash_profile // 사용자 계정의 폴더
4) 환경설정이 다 되었으면 configure를 실행한다.
# ./configure
- 실행뒤에 라이센스 동의를 묻는다면 이때 "yes"를 입력한다.
- Feature configuration은 일단 5번 Everything을 선택한다.
- Color depth는 16을 입력한다.
- Qt Virtual Framebuffer를 지원하겠냐고 묻는다면 이때 "yes"라고 입력한다.Makefile이 생성된 뒤 make를 시킨다.
make의 과정은 컴퓨터의 사양에 따라서 몇 십분까지 걸릴 수 있다. (내 컴은 2시간 ㅡ.ㅡ)# make
5) 설치가 다 되었다면 예제 프로그램을 실행해 보자.# ./qvfb -width 640 -height 480 -depth 16 &
# cd $QTDIR/examples/hello
# ./hello
-----------------------------------------------------------------------
- # 알아두기
-----------------------------------------------------------------------
- * Feature란
- Minmal(630KB)
- Small(960kB)
- Medium(1.5MB)
- Large(3MB)
- Everything(5MB)
- Your own local configuration
- 이렇게 6개를 지원한다. 그래서 각 임베디드 기기의 용량에 맞는 컴파일 모델을 선택할 수 있다.
- 6번은 $QTDIR/src/tools/qconfig-local.h파일에서 자신의 작업환경에 맞도록 customaize할- 수 있다. 실제 작업을 할 때에는 필요한 최소한 용량만을 사용해야 하기 때문에 6번으로
- 하는 것이 일반적이다.
-----------------------------------------------------------------------
4. tmake 설치
1) tmake-1.8.tar.gz파일을 설치할 디렉토리로 옮기고 압축을 푼다.# mv tmake-1.8.tar.gz /QT_E
# tar tmake-1.8.tar.gz2) 이제 tmake-1.8 디렉토리가 생겼을 것이다. 설치에서 컴파일은 필요없고, 환경설정만 해주면
된다.
/root/.bash_profile파일에 아래 내용을 추가한뒤 적용시킨다.
TMAKEPATH=/QT_E/tmake-1.8/lib/qws/linux-x86-g++
PATH=$PATH:/QT_E/tmake-1.8/binexport TMAKEPATH PATH
# source ./.bash_profile // 사용자 계정의 폴더
3) 이로써 tmake의 설치를 끝낸다.Embedded Linux
주제 : QT/E 개발 환경 구축
1. gcc 컴파일러 재 설치
가. /usr/local/gcc2953 디렉토리를 생성하고 gcc-295.3.tar.gz을 해당 디렉토리에 복사한다.
# mkdir –p /usr/local/gcc2953
# ftp로 전송받거나 cd에서 복사한다.
나. 압축을 푼 후 환경설정과 컴파일하여 재 설치한다.
# cd /usr/local/gcc2953
# tar zxvf gcc-2.95.3.tar.gz
# cd gcc-2.95.3
# ./configure --prefix=/usr/local/gcc2953
# make
# make install
다. 설치가 정상적으로 이루어져 있으면 환경변수에 등록하여 사용한다.
# vi ~/.bash_profile
PATH=$PATH:/usr/local/cross-tools/bin
PATH=/usr/local/gcc2953/bin:$PATH
export USERNAME BASH_ENV PATH (없으면 추가)
# source ~/.bash_profile
라. 설치확인
gcc –v 를 수행하여 아래와 같이 출력되면 정상적으로 설치가 종료된 것이라 볼 수 있다.
# gcc –v
* 환경 변수 설정시 $PATH의 위치에 따라 새로 설치한 컴파일러 보다 이전 리눅스 컴파일러를 실행할 수 있다. 위치를 동일하게 편집한 후 다시 source로 적용시켜 새로 설치한 컴파일러가 먼저 실행될 수 있도록 조치 하자.
2. Qt/X11 설치
가. 해당 파일을 저장하고 압축을 풀 working 디렉토리 생성
# mkdir /working
# cd /working
나. ftp 나 CD에서 Qt 가상 프레임 파일을 복사하여 압축을 해제하자.
필요한 파일 : Tools/qt/qtx/qt-x11-2.3.2.tar.gz
# cd /working/
# tar zxvf qt-x11-2.3.2.tar.gz
# mv qt-2.3.2/ /working/qtx-2.3.2
* 압축이 풀린 디렉토리명을 qt-2.3.2 에서 qtx-2.3.2로 변경하는 이유는 차후 설치하게 될 qte와 구별하기 좋게 하기 위함이다.
다. Qt/X11을 컴파일 할때 사용할 라이브러리 디렉토리들을 환경변수를 사용하여 연결해 놓는다.
# export QTDIR=/working/qtx-2.3.2
# export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
라. 환경 설정 후 컴파일 한다.
# cd /working/qtx-2.3.2
# ./configure
# make
* make 에서 오류가 발생하면 ./configure –no–xft 를 사용하여 환경 설정.
3. Qt 가상 프레임 버퍼(qvfb)
가. qvfb 컴파일
# cd $QTDIR/tools/qvfb
# make
나. 경로 설정
# export PATH=/working/qtx-2.3.2/tools/qvfb:$PATH
4. x86 Qt/E 라이브러리 설치
호스트 컴퓨터에서 QT/E 프로그램을 테스트 할 수 있도록 x86용 Qt/E 라이브러리를 설치하자.(일종의 애물레이터)
가. 필요한 파일을 /working 디렉토리에 복사하거나 전송 받는다.
필요한 파일 : /Tools/qt/qte/qt-embedded-2.3.2.tar.gz
# cd working
# tar zxvf qt-embedded-2.3.2.tar.gz
# mv qt-2.3.2 qte-2.3.2
# mkdir /working/qte-x86
# cp –rf qte-2.3.2 /working/qte-x86
나. qte를 위한 환경 파일을 하나 만들어서 적용 시키자.
# cd /working
# vi qte_env
# source qte_env
* 환경파일 내용 내용(qte_env)
export PATH=$PATH:/working/qtx-2.3.2/tools/qvfb
export QTDIR=/working/qte-x86/qte-2.3.2
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
다. 컴파일 하자.
# cd $QTDIR
# ./configure ( yes -> 5 -> 16 -> yes 순으로 입력)
# make
라. 애물레이터(qvfb) 실행
# qvfb –width 640 –height 480 –depth 16 &
# ./examples/launcher/launcher -qws
* QTDIR 하위 디렉토리인 sample 디렉토리에 예제 프로그램들을 실행해 보자.
launcher –qws 실행화면