- 전체
- 안드로이드 플랫폼
- 아두이노
- 라즈베리 파이
- 안드로이드 ADK
- Embedded HardWare
- Embedded FirmWare
- Embedded Platform
- Embedded SoftWare
- 임베디드 리눅스
- Hobby Electronics
- 임베디드기사 - 국가기술자격
- VHDL 디지털설계
- M2M_IoT_사물지능통신
- 아마추어 로봇
- EDA - Electronic CAD
- 로봇공학
- 국가기술자격 로봇 제작 개발 자격증
- IoT (임베디드 인터넷)
Embedded SoftWare [QT] Qt Embedded 환경 설정
2014.01.07 23:18
[출처] http://blog.naver.com/PostView.nhn?blogId=wlgpdlaek&logNo=147994908
******* Qt Embedded 환경 설정 하기 *******
##Qt-embedded 설치 참고 : http://forum.falinux.com/zbxe/?document_srl=406324
이전 버전이라 그런지 위 페이지에서 설정하는 qt의 configure 옵션이 적용이 쉽지 않습니다..
조금 더 삽질을 했었다는...(역시 리눅스와 임베디드는 삽질을 많이 해야;;)
물론 아래에서 #은 빼고 진행하셔야겠죠?ㅎㅎ
위 페이지에서 참고한 내용이지만, 실제 제가 사용한 Qt-4.7.2 환경에서는 필요가 없는 라이브러리들입니다.
그래도 필요하시다면 위의 falinux 페이지를 참고하시고 해보시길 바랍니다.
-------------------------------------------------------------------------------------------------------------------------
1. arm용 uuid 라이브러리 설치
# wget http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/1.41.14/e2fsprogs-1.41.14.tar.gz
# ./configure --prefix=/usr/local/arm-2010q1/arm-none-linux-gnueabi --host=i686 --target=arm --enable-elf-shlibs CC=arm-none-linux-gnueabi-gcc
# make
# make install
# make install-libs
2. arm용 jepg 라이브러리 설치
# wget http://www.ijg.org/files/jpegsrc.v8c.tar.gz
# ./configure --prefix=/usr/local/arm-2010q1/arm-none-linux-gnueabi --host=i686-pc-linux-gnu --target=arm CC=arm-none-linux-gnueabi-gcc
Makefile에서 AR, RANLIB을 해당 arm용으로 변환 AR = arm-none-linux-gnueabi-ar, RANLIB = arm-none-linux-gnueabi-ranlib
# make
# make install
##### make install-lib는 안됨;;
-------------------------------------------------------------------------------------------------------------------------
3. configure 옵션
qt-everywhere-opensource-4.7.2를 다운받아, 폴더 압축을 푸시고 아래 내용을 실행하시기 바랍니다.
아래는 제가 진행한 configure 옵션입니다. 해당 플랫폼이나 사용하실 라이브러리에 따라서 옵션을 추가하거나 삭제하셔도 됩니다.
# ./configure -embedded arm -opensource -qt-zlib -no-iconv -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -qt-freetype -qvfb -lrt -little-endian -xplatform qws/linux-arm-gnueabi-g++
위 옵션에서 몇가지만 추가 설명합니다.
-embedded arm : 제목과 같이 임베디드 라이브러리 생성을 위해 하는 옵션입니다. 이와 같이 하면 PATH에 설정하신 $QTDIR 밑에 QtEmbedded-4.7.2-arm으로 폴더가 생성됩니다. 뒤에 arm이 붙은 것은 arm 시스템을 위해 컴파일 되었다는 것을 의미합니다. 만약 X11 환경을 위해 하신다면 폴더명이 -arm이 아니라 -X11이 되겠죠? 폴더 명이나 위치를 바꾸기 위해서는 -prefix 옵션을 사용하시길 바랍니다.
-qt-freetype : 추후 한글화를 위해서 필요한 옵션입니다. 이때는 아무생각도 없이 여기저기서 사용한 옵션들을 죄다 끌어다 붙이느라 생각도 못했는데 ..;;; 안드로이드도 각 버전별로 다른 점이 많아 힘들지만 Qt도 만만치 않은 것 같습니다. 한글화 관련해서 찾으면 어찌나 다들 다르신지;;
아직 한글화 작업한 걸 보드에 올려보지 않아서 이거다! 라는 확신이 없습니다.;; 실행해보고 다시 또 글 쓰겠습니다;;
한글화 관련 링크를 첨부합니다.
http://limjunsung.egloos.com/757922
http://limjunsung.egloos.com/842025
-qvfb : 가장 중요합니다. 프레임버퍼를 사용하여 화면에 이쁜 GUI를 나타내게 합니다. 잘 되는 라이브러리였는데, 정작 보드의 프레임버퍼가 제대로 동작하지 않아 애 좀 먹었습니다. 만약 컴파일까지 잘~ 했고, 라이브러리도 다 옮겼는데 안된다! 싶으면 프레임버퍼나 임베디드파일시스템을 의심해 보세요!!
프레임버퍼 관련 강좌 링크를 첨부합니다.
http://kelp.or.kr/korweblog/stories.php?story=02/11/09/8557035&topic=29
총 9개인가..;; 있으니 찬찬히 처음부터 둘러보시길 바랍니다.
-little-endian : 이것은...다들 아실테고...
-xplatform qws/linux-arm-gnueabi-g++ : /qt-ever...-opensource/mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf를 참조하며, 이 때, QMAKE_CC는 arm-none-linux-gnueabi-gcc가 됩니다. 이를 이용하여 해당 target에 맞게 컴파일을 실행합니다. 제 경우 필요한 컴파일러가 gnueabi였기 때문에 이렇게 설정했습니다.
다른 컴파일러를 사용하신다면 해당 폴더(/qt-ever...-opensource/mkspecs 혹은 /qt-ever...-opensource/mkspecs/qws)를 둘러보시고 자신의 플랫폼에 맞는 컴파일러를 사용하세요. 만약 mkspecs에 있다면 위 명령에서 qws/를 빼고 바로 컴파일러 명을 적으시면 됩니다.
ex) -xplatform macx-g++
# gmake
컴파일을 진행합니다. 대략...1시간 정도 걸린다고 보시면 될 것 같습니다.
컴파일 후에 샘플 파일을 file 명령으로 ARM용으로 컴파일된 실행파일인지 확인합니다.
# sudo gmake install
위를 하시면 $QTDIR/QtEmbedded-4.7.2-arm 폴더에 필요한 bin폴더와 lib 폴더가 이쁘게 자리잡고 있을 겁니다.ㅎㅎ
이후 라이브러리($QTDIR/QtEmbedded-4.7.2-arm/lib)를 target으로 복사하기만 하면 사용 준비는 대충 완료~
여기서 주의할 점이 있는데 lib폴더내에서는 심볼릭링크로 연결이 되어있기 때문에 바로 cp명령어를 쓰시지 마시고, tar.gz 등의 압축파일로 복사하세요~
4. 라이브러리 복사 및 환경설정
(모두 보드에서 진행합니다.)
# mkdir /usr/local/Trolltech/QtEmbedded-4.7.2-arm
# cp lib.tar.gz /usr/local/Trolltech/QtEmbedded-4.7.2-arm
# tar xvzf lib.tar.gz
# export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.2-arm
# export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
5. Tutorial 실행해보기
설치를 다 한 것 같으니 이제 실행을 해봐야죠~
# cd qt-everywhere-opensource-src-4.7.2/examples/qmake/tutorial
위 폴더에 간단한 예제가 있습니다.
# /usr/local/Trolltech/QtEmbedded-4.7.2-arm/bin/qmake -project
# /usr/local/Trolltech/QtEmbedded-4.7.2-arm/bin/qmake tutorial.pro
# make
평소에 사용하던 qmake를 사용하시면 안되는 것 아시죠? 저는 환경설정하기 귀찮아서;;(실은 대문자 치는게 귀찮;;) 위와 같이 했습니다.
위를 진행하시면 tutorial 실행파일이 생기겠죠..문제가 없다면.;;;;
실행 파일을 보드로 복사하신 다음,
# ./tutorial -qws (보드에서)
실행을 하시면~!
Terminal에 "My PushButton has been constructed"이 출력되며, LCD창에는 버튼이 생성된 것을 확인하실 수 있습니다.
각자의 환경에 따라 옵션이 달라져 까다롭지만, 그래도 저렇게 나오면 참 기분이...ㅎㅎㅎ
또 다른 삽질을 하러 갈 때가 된 것 같습니다. T-T
[출처] Qt Embedded 환경 설정|작성자 리지
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 4 |
[Embedded Platform] PLCS 대 PLDS : 응용 프로그램에 적합한 기술 선택
| 졸리운_곰 | 2024.12.28 | 147 |
| 3 |
AVRILOS: A simple OS for AVR microcontrollers
| 졸리운_곰 | 2019.11.04 | 961 |
| 2 |
임베디드 시스템에서의 운영체제 : RTOS - Real Time Operating System
| 졸리운_곰 | 2019.11.04 | 391 |
| 1 |
리눅스/임베디드리눅스 커널 분석환경 설치 / How to make analysis enviroment on Linux / Embedded Linux
| 졸리운_곰 | 2015.05.12 | 866 |

