한국어
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 86175
23 Qt Android 앱에 AdMob 배너달기 file makersweb 2021.12.04 395
22 Android 애플리케이션 서명 구성 file makersweb 2023.12.17 536
21 Qt Safe Renderer 개요 file makersweb 2022.09.08 551
20 Qt Bluetooth Low Energy 개요 makersweb 2022.02.13 678
19 Qt for MCU 1.0 릴리즈 makersweb 2019.12.10 753
18 QPA 플러그인과 HTML5 Backend file makersweb 2017.12.27 809
17 Qt로 작성된 iOS 앱에서 시리얼 통신 file makersweb 2022.04.30 867
16 Qt로 작성된 안드로이드 APP에 Splash Screen을 추가 file makersweb 2020.03.10 885
15 Qt MQTT 에 대해서 file makersweb 2020.06.02 962
14 안드로이드 가상장치 사용 file makersweb 2019.01.13 1074
13 싱글터치 스크린 및 임베디드 리눅스 기반에서 Qt 터치입력 makersweb 2018.12.24 1403
12 Qt for Embedded Linux 화면출력 makersweb 2019.10.17 1601
11 Qt MQTT의 pus/sub 튜토리얼 file makersweb 2021.02.06 1665
10 라즈베리파이3에서 Boot to Qt 실행해보기 makersweb 2019.11.13 1671
9 MCU용 Qt에 대해서 makersweb 2019.08.22 1923
8 QtWayland와 ivi-compositor file makersweb 2018.12.27 2413
7 Qt5기반 독립 프로세스(out-of-process)로 동작하는 가상키보드(virtual keyboard) file makersweb 2019.02.24 2632
6 Qt Bluetooth를 이용한 시리얼(Serial) 통신 file makersweb 2019.02.17 3600
5 QPA 플러그인과 EGLFS file makersweb 2017.11.21 3941
4 라즈베리파이4에 대한 Qt 5.14.1 크로스컴파일 [1] file makersweb 2020.02.12 4459