한국어
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
39 Qml 기본 컴포넌트 강좌 (4) - 모델 리스팅(Listing) file 운영자 2019.02.23 5325
38 Qt기반의 오픈소스 프로젝트들 makersweb 2019.05.15 5462
37 Qt 어플리에이션 전역에 폰트 설정 makersweb 2018.01.24 5627
36 Windows환경에서 mingw로 Qt 5.10 정적(static)빌드 file makersweb 2018.02.01 5708
35 Qml 및 C++개발시 유용한 팁 [3] makersweb 2018.04.06 6004
34 QQuickImageProvider 를 이용한 Qml 에서 이미지 표시 makersweb 2015.10.18 6007
33 Windows에서 라즈베리파이3 Qt 어플리케이션 개발 및 원격 실행 file makersweb 2018.02.23 6086
32 Qml 사용자 ScrollBar 구현 file makersweb 2015.07.24 6234
31 QtInstallerFramework로 온라인 설치프로그램(Online Installer)만드는 방법 [4] file makersweb 2019.05.28 6275
30 Qt Quick Controls 2사용 및 스타일 설정 file makersweb 2019.06.07 6281
29 QPushButton 의 커스텀 이미지버튼 file makersweb 2019.11.05 6425
28 z-order 를 컨트롤 하기위한 방법 makersweb 2015.05.13 6594
27 QLabel의 텍스트 색과 배경색을 변경 makersweb 2020.02.25 6669
26 QML내에서의 시그널, 슬롯 시스템 makersweb 2019.09.29 6989
25 Qt SQL을 이용한 가벼운 데이터베이스 다루기 [1] file 운영자 2019.01.23 6995
24 Qml 기본 컴포넌트 강좌 (2) [2] file makersweb 2019.01.05 8654
23 안드로이드 Qt 프로그래밍 file makersweb 2018.11.30 8852
22 QtConcurrent를 이용하여 쓰레드를 만드는 방법과 MapReduce file makersweb 2016.01.24 9480
21 QML 강좌 - 동적 Listing (ListView) file makersweb 2019.06.01 10123
20 Qt애플리케이션 객체(QCoreApplication, QGuiApplication, QApplication) 에 대해서 makersweb 2019.11.11 10150