커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
285
882
3,878
3,960,819
  현재접속자 : 71 (회원 0)






배너 신청 문의

 
작성일 : 14-11-12 13:02
[QT/Embedded] 우분투 Qt5 크로스 컴파일 (14/11/26 2차 수정)
 글쓴이 : 김아무…
조회 : 15,000   추천 : 0  
환경은 아래와 같습니다.
OS: Ubuntu 14.04 LTS (32bit)
Cross compiler: arm-linux-gnueabi


1. tslib 설치

git clone https://github.com/kobolabs/tslib
 * 버그 fix 버전.

cd tslib

chmod 755 autogen-clean.sh
chmod 755 autogen.sh

./autogen-clean.sh
./autogen.sh

./configure --build=i386-linux --host=arm-linux -prefix=/rootech/lib/tslib CC=/usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-gcc CXX=/usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-g++ \
--enable-shared --disable-h3600 --disable-corgi --disable-collie --enable-input --disable-arctic2 --disable-ucb1x00 --disable-mk712

make
sudo make install

sudo rm /rootech/lib/tslib/etc/ts.conf
sudo vi /rootech/lib/tslib/etc/ts.conf
{

module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

} // 이 부분은 configure 한 설정에 맞게 필요한 모듈의 주석을 지워주시면 됩니다.

cd /rootech/lib/tslib/lib
sudo ln -s libts-1.0.so.0.0.0 libts-0.0.so.0



2. Qt5.3.1 소스 다운로드 후 압축해제
 * 다운은 아래 주소에서 가능
http://download.qt-project.org/archive/qt/5.3/5.3.1/single/

sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev

sudo apt-get install libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev



3. qmake.conf 파일 수정
cd qt-everywhere-opensource-src-5.3.1
vim ./qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

...

  1. modifications to g++.conf
QMAKE_CC                = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-gcc
QMAKE_CXX               = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-g++
QMAKE_LINK              = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-g++
QMAKE_LINK_SHLIB        = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-g++

  1. modifications to linux.conf
QMAKE_AR                = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-ar cqs
QMAKE_OBJCOPY           = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-objcopy
QMAKE_NM                = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-nm -P
QMAKE_STRIP             = /usr/local/arm/4.3.1-eabi-armv6/usr/bin/arm-linux-strip

QMAKE_LFLAGS += -Wl,-rpath-link=/rootech/lib/tslib/lib

...



4. configure 옵션
cd ~/qt-everywhere-opensource-src-5.3.1/qtbase/

./configure -v \
-arch arm \
-xplatform linux-arm-gnueabi-g++ \
-device-option CROSS_COMPILE=arm-linux-gnueabi \
-prefix /rootech/qt/5.3.1 \
-opensource \
-confirm-license \
-I/rootech/lib/tslib/include -L/rootech/lib/tslib/lib -tslib \
-no-c++11 -no-wayland -force-pkg-config -no-largefile -no-accessibility

make
sudo make install


5. 타겟보드 환경변수 설정

*****************************************************
TSLIB_CONFFILE: ts.conf 의 경로
TSLIB_CALIBFILE: touch calibration파일이 저장 될 경로
QT_QPA_PLATFORM: -platform 옵션
QT_QPA_GENERIC_PLUGINS: -plugin 옵션
*****************************************************
{

export TSDIR=/rootech/lib/tslib
export TSLIB=/rootech/lib/tslib/lib
export TSLIB_ConFFILE=$TSDIR/etc/ts.conf
export TSLIB_CALIBFILE=$TSDIR/etc/pointercal
export TSLIB_PLUGINDIR=$TSDIR/lib/ts
export TSLIB_TSDEVICE=/dev/input/event1
export PATH=$TSDIR/bin:$PATH
export LD_LIBRARY_PATH=$TSLIB:$LD_LIBRARY_PATH

export QWS_DISPLAY=Linuxfb:mmsize=200x120
export QT_QPA_PLATFORM=$QWS_DISPLAY
export QWS_MOUSE_PROTO=Tslib:$TSLIB_TSDEVICE
export QT_QPA_GENERIC_PLUGINS=$QWS_MOUSE_PROTO

export QTDIR=/rootech/qt/5.3.1
export QTLIB=$QTDIR/lib
export QTINC=$QTDIR/include
export PATH=$QTDIR/bin:$PATH
export QMAKESPEC=$QTDIR/mkspecs/linux-arm-gnueabi-g++
export LD_LIBRARY_PATH=$QTLIB:$LD_LIBRARY_PATH

}


6. 참고 자료 link
http://qt-project.org/wiki/Building-Qt-5-from-Git
http://qt-project.org/doc/qt-5/linux-requirements.html
http://gpupowered.org/node/8



devilqoo 14-11-12 19:31
 
다음에 빌드할 일 있을 때 유용하게 참고하도록 하겠습니다. :)
때끼 15-01-21 15:31
 
혹시 이렇게 빌드 하여 타겟에 빌드된 환경을 넣었을때 qt 어플들이 동작을 하는지 문의를 드려봐도 될까요?

root@freescale ~$ ./dials
 Segmentation fault

전 이렇게 qt5 의 예제 어플들이 전부 동작 하지 않아서 댓글을 달아 봅니다.
     
김아무… 16-11-25 11:40
 
동작하는것을 확인하고 쓴 글입니다.
실행하실때 -qws 옵션을 넣어보시기 바랍니다.
성일 15-02-12 16:58
 
./configure -v -arch arm -xplatform llinux-arm-gnueabi-g++ -device-option CROSS_COMPILE=arm-linux-gnueabi -prefix /home/sikim/qt-everywhere-opensource-src-5.4.0 -opensource -confirm-license -no-c++11 -no-wayland -force-pkg-config -no-largefile -no-accessibility
하면 아래와 같은 오류가 발생합니다

The specified system/compiler is not supported:

      /home/sikim/qt-everywhere-opensource-src-5.4.0/qtbase/mkspecs/llinux-arm-gnueabi-g++

틀린부분이 없는것 같은데 원인을 모르겠습니다
덜렁냥 15-02-24 18:58
 
감사합니다. 리눅스 초보라 설정할때 애먹었지만. 환경변수 전까지 잘 했습니다.
와드노… 15-05-18 13:39
 
혹시 qt4 도 같은방법으로 가능한가요
     
날아Lee 15-05-20 11:04
 
qt4는 configure 시 좀 다르게 넣어줘야 합니다. 찾아보시면 아실겁니다.
verytire 15-07-17 14:54
 
타겟보드는 어떤걸 사용하신건가요?

보드명이나 cpu 모델...
     
김아무… 16-11-25 11:40
 
cpu는 i.mx28 를 사용합니다.
 
 

Total 220
번호 제   목 글쓴이 날짜 조회 추천
220 자신이 해야 할 일을 결정하는 사람은 세상에… rqyuspv875 10-21 5 0
219 산다는것 그것은 치열한 전투이다. -로망로랑… rqyuspv875 10-21 3 0
218 인간의 삶 전체는 단지 한 순간에 불과하다 . … rqyuspv875 10-21 3 0
217 source 삶이 그대를 속일지라도 슬퍼하거나 노… rqyuspv875 10-21 3 0
216 내일은 내일의 태양이 뜬다 피할수 없으면 즐… wyltqme425 10-20 9 0
215 인생이란 학교에는 불행 이란 훌륭한 스승이 … wyltqme425 10-20 6 0
214 최고에 도달하려면 최저에서 시작하라.-P.시… wyltqme425 10-20 2 0
213 해야 할 것을 하라. 모든 것은 타인의 행복을 … wyltqme425 10-20 3 0
212 평생 살 것처럼 꿈을 꾸어라.그리고 내일 죽… wyltqme425 10-20 10 0
211 이룰수 없는 꿈을 꾸고 이길수 없는 적과 싸… wyltqme425 10-20 7 0
210 만약 우리가 할 수 있는 일을 모두 한다면 우… wyltqme425 10-20 16 0
209 꿈을 계속 간직하고 있으면 반드시 실현할 때… wyltqme425 10-20 7 0
208 사막이 아름다운 것은 어딘가에 샘이 숨겨져 … wyltqme425 10-20 4 0
207 자신의 본성이 어떤것이든 그에 충실하라 . … wyltqme425 10-20 3 0
206 아래에 비교하면 남음이 있다.-명심보감[쇼미… wyltqme425 10-20 7 0
205 nephew 삶이 있는 한 희망은 있다 -키케로유혜… wyltqme425 10-20 7 0
204 고통이 남기고 간 뒤를 보라! 고난이 지나면 … rqyuspv875 10-20 7 0
203 진짜 문제는 사람들의 마음이다.그것은 절대… rqyuspv875 10-20 9 0
202 지금이야 말로 일할때다. 지금이야말로 싸울… rqyuspv875 10-20 6 0
201 도저히 손댈 수가 없는 곤란에 부딪혔다면 과… rqyuspv875 10-20 19 0
200 우선 무엇이 되고자 하는가를 자신에게 말하… rqyuspv875 10-20 9 0
199 longer 자신감 있는 표정을 지으면 자신감이 생… rqyuspv875 10-20 3 0
198 [QT/Win32] MFC에서 Qt 사용하기 팁. (3) devilqoo 09-10 3059 0
197 [QT/X11] QML 모델을 C++ 코드로 구현하는 방법 중 하나 (1) 구름님 12-03 4758 0
196 [QT/X11] QWT for qt android (1) 구름님 03-07 6311 1
195 [QT/Embedded] QTcpSocket사용 시 플러그 뽑힘 증상 체크 방법 요원009 11-13 10251 0
194 [QT/Win32] QML 에서 CustomModule 을 import 하여 사용하기 tmdwn 05-18 5871 0
193 [QT/Embedded] Qt update함수/repaint함수 사용법좀 알려주세여.. (1) 잉농 05-14 5738 0
192 [QT/Embedded] C++ Exception을 활용한 런타임 콜스택 정보 얻기 (1) korone 04-01 6070 0
191 [QT/Embedded] Qt 5.4.1 raspberry Pi 프로그램 개발하기 (5) 구름님 03-31 20192 1
 1  2  3  4  5  6  7  8  


About korone.net | Copyright 2003 korone.net. All rights reserved.