한국어
Qt
 

호스트 개발환경 : 윈도우7

 

Step 1. 라즈베리파이 운영체제 설치

https://www.raspberrypi.org/downloads/raspbian/

RASPBIAN STRETCH 이미지를 다운로드 받고 sd메모리에 쓰고 부팅하여 ssh를 활성화 한다.

 

Step 2. 라즈베리파이 툴체인 다운로드

http://gnutoolchains.com/raspberry/

 

두가지 툴체인을 다운로드 받아야 하는데 최신 툴체인(raspberry-gcc6.3.0)에는 타겟(라즈베리파이3)과 sysroot 동기화 툴이 존재하지 않는다.

그래서 raspberry-gcc-4.9.2-r4 를 먼저 설치하고 동기화툴을 복사해오는 과정이 필요하다.

sysprogs.png

 

먼저 raspberry-gcc-4.9.2-r4를 설치하고 설치된 폴더에서 TOOLS 폴더를 raspberry-gcc6.3.0 설치 폴더에 복사한다.

SysGCCTools.png

 

이제 <SysGCC>\raspberry\TOOLS의 UpdateSysroot.bat를 실행한다. 

Select를 클릭하고 라즈베리파이의 주소 및 계정정보를 입력 후 connect한다.

아래 그림과 같이 동기화 디렉토리들을 명시하고 Synchronize를 클릭한다.

sync.png

 

그러면 라즈베리파이에서 위에 명시한 디렉토리들의 항목들을 가져오면서 sysroot 동기화가 될 것이다.

(동기화 작업은 라즈베리파이에 새로운 패키지를 설치하거나의 변화가 있을때 다시 해줘야한다.)

synchronize.png

 

Step 3. Qt5.10 소스코드 다운로드 및 설치

온라인 인스톨러 다운로드 후 5.10(소스코드포함) 및 mingw530을 체크하여 설치한다. (기본 C:\ 에 설치한다.)

https://www.qt.io/download

 

Step 4. Qt 빌드

C:\Qt\raspberry_pi 폴더 생성(최종 인스톨될 폴더)

C:\Qt\5.10.0\raspberrypi3 폴더생성

 

시작 - Qt - 5.10.0 - MinGW 5.3.0 (32-bit) - Qt 5.10.0 for Desktop (MinGW 5.3.0 32 bit) 실행

RunCmd.png

 

C:\Qt\5.10.0\raspberrypi3 로 이동

아래 명령을 통해 컴파일러 전체경로가 나오는지 확인하고 그렇지 않다면 툴체인 경로를 환경변수에 등록해줘야 한다.

C:\Qt\5.10.0\raspberrypi3>which arm-linux-gnueabihf-g++

 

configure실행 (여기서는 opengl es2 옵션 추가 및 QPA플러그인으로 EGLFS로 선택된다. 또한 빠른 빌드를 위해 예제를 포함한 몇가지는 제외하였다.)

만약 x윈도우 시스템에서 동작 되길 원한다면 다음 글을 참고하자: https://forum.qt.io/topic/83700/raspberry-pi-3-compile-with-x11-eglf-not-wanted/5 

C:\Qt\5.10.0\raspberrypi3>..\Src\configure -opensource -confirm-license -release -opengl es2 -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE="C:\SysGCC\raspberry\bin\arm-linux-gnueabihf-" -prefix /usr/local/qt5pi -extprefix "C:\Qt\raspberry_pi" -hostprefix "C:\Qt\raspberry_pi" -nomake examples -nomake tests -no-use-gold-linker -qt-pcre -skip qtscript -skip qttools -skip qtserialbus

 

configure.png

 

C:\Qt\5.10.0\raspberrypi3>mingw32-make -j4
C:\Qt\5.10.0\raspberrypi3>mingw32-make install

위과정을 거치면 컴파일된 라이브러리들이 C:\Qt\raspberry_pi 폴더에 인스톨 된다. (python이 설치되어 있지 않으면 실패할 수 도 있다.)

 

Step 5. 배포

<SysGCC>\raspberry\TOOLS\PortableSmartty 에 있는 SmarTTY를 이용하거나 다른 SSH 클라이언트를 이용하여 라즈베리파이에 접속한다.

그다음 /usr/local/qt5pi 디렉토리를 만든다. (아래 명령 참고)

pi@raspberrypi:/opt $ cd /usr/local/
pi@raspberrypi:/usr/local $ sudo mkdir qt5pi
pi@raspberrypi:/usr/local $ sudo chown pi qt5pi/

 

이제 컴파일된 라이브러리들을 타겟에 배포 하기위해 WinSCP를 다운로드하고 설치한다.  (SmarTTY의 SCP 기능으로도 가능하다)

https://winscp.net/

 

WinSCP를 실행하고 타겟에 접속한다.

winscp_1.png

 

/usr/local/qt5pi 디렉토리로 업로드

winscp_2.png

 

업로드는 몇 분 정도 소요된다. 

winscp_3.png

 

업로드가 완료되면 이제 라즈베리파이에서 Qt어플리케이션을 실행 시킬 수 있다.

 

윈도우에서 Qt Creator를 이용하여 라즈베리파이로 원격 실행에 관한 내용은 이곳을 참고하면된다.

 
번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 90592
40 QtWayland와 ivi-compositor file makersweb 2018.12.27 2986
39 Qml과 C++로 구현하는 GUI어플리케이션 file makersweb 2018.12.25 15128
38 싱글터치 스크린 및 임베디드 리눅스 기반에서 Qt 터치입력 makersweb 2018.12.24 1972
37 ShaderEffect QML Type 을 이용한 그래픽효과 file makersweb 2018.12.09 2829
36 Qml에서 커튼효과 구현 예제 - Shader Effects file 운영자 2018.12.05 1603
35 안드로이드 Qt 프로그래밍 file makersweb 2018.11.30 9571
34 리눅스에서 Qt4.8기반 어플리케이션의 한글입력 file makersweb 2018.11.29 3001
33 QML에서 동적으로 텍스트 다국어 처리 file makersweb 2018.11.04 4843
32 Qt Installer Framework - 패키징, 설치프로그램 제작 file makersweb 2018.10.14 12473
31 Qt 응용프로그램 배포(windows) file makersweb 2018.10.10 12439
30 소스코드에서 환경변수 가져오기와 설정하기 makersweb 2018.10.08 2401
29 표를 만들고 PDF문서로 출력하기 file makersweb 2018.09.30 2142
28 Qml에서 키보드 입력 이벤트 핸들링 file makersweb 2018.08.09 4236
27 Qml 어플리케이션 정적 빌드 file makersweb 2018.07.27 2638
26 Qt Bluetooth 관련 기능 확인 사항 makersweb 2018.07.10 1316
25 Qml 및 C++개발시 유용한 팁 [3] makersweb 2018.04.06 6904
24 Qt Version확인 방법 makersweb 2018.03.29 4260
23 초보자를 위한 첫번째 프로젝트 - QML로 만드는 Hello World file makersweb 2018.03.16 15540
22 Windows에서 라즈베리파이3 Qt 어플리케이션 개발 및 원격 실행 file makersweb 2018.02.23 6698
» Windows에서 라즈베리파이3용 Qt5.10.0 크로스컴파일 [20] file makersweb 2018.02.23 14257