ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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.gz

     2) 압축이 풀리면 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.2

     3) 환경파일 설정
        사용자 계정 디렉토리의 .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_PATH

      export QTDIR PATH MANPATH LD_LIBRARY_PATH


        # source ./.bash_profile  // 사용자 계정의 폴더

     4) 설정한 패스가 정용되었는지 etho명령어를 사용해서 테스트 한다.
        # etho $QTDIR
        # etho LD_LIBRARY_PATH

     5) 환경설정이 다 되었으면 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
        # make

     2) 설치가 모두 되었다면 실행시켜 본다. 실행옵션은 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.gz

     2) 압축이 풀리면 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.2

     3) 환경파일 설정
        사용자 계정 디렉토리의 .bash_profile파일에 이전에 설정했던 QTDIR부터 아래와 같이 수정한 뒤
        설정된 패스를 적용시킨다.
     
      QTDIR=/QT_E/qte-2.3.2
      LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

      export 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.gz

     2) 이제 tmake-1.8 디렉토리가 생겼을 것이다. 설치에서 컴파일은 필요없고, 환경설정만 해주면

         된다.
        /root/.bash_profile파일에 아래 내용을 추가한뒤 적용시킨다.


      TMAKEPATH=/QT_E/tmake-1.8/lib/qws/linux-x86-g++
      PATH=$PATH:/QT_E/tmake-1.8/bin

      export 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 실행화면 



Designed by Tistory.