기본 콘텐츠로 건너뛰기

Qt Framework를 사용하여 라즈베리파이 응용프로그램 개발 #04

How To build QtSDK for Raspberry-Pi On Windows




1. 최우선적으로 각각의 작업을 진행하는 디렉토리를 설정 한다.

Toolchain directory : d:\toolchains\raspberry-pi
Qt SDK install directory : d:\qt
Qt source directory : d:\qt-src
Qt Build directory : d:\build-qt

2. 빌드하기 위한 추가적 패키지 설치

윈도우에서 qt 빌드하기 위해서는 python perl 필요하다. 이것은 http://doc.qt.io/qt-5/windows-building.html 문서를 보고 해당 패키지를 설치 하도록 한다.

3. QtSDK 설치

추가적으로 qtsdk 기존 빌드된 실행파일을 https://www.qt.io/download-open-source 에서 내려받아 설치를 진행한다. QtSDK d:\qt 설치를 한다.

4. 라즈베리파이용 툴체인 설치

http://gnutoolchains.com/raspberry/ 에서 라즈베리파이용 툴체인을 내려 받아 설치 한다.
설치 위치는 자신에 환경에 맞게 설정해준다. 여기서는 d:\toolchains\raspberry-pi 설치를 한다.

5. Qt source 내려받기

Qt 소스는 이전에 포스팅한 것을 참고 하여 해당 디렉토리에 소스를 내려 받도록 한다.
git-bash 실행하여 다음과 같이 명령을 내린다.
cd /d
git clone git://code.qt.io/qt/qt5.git -b 5.8 qt-src
cd qt-src
./init-repository

6. Qt 빌드하기

Qt 5.8 for Desktop (MingGW 5.3.0 32 bit) 혹은 visual studio developer command prompt for vs2015 ( ms visual studio 사용하고 싶은 경우에 한정한다.) 실행 시킨다.

mkdir d:\build-qt
cd d:\build-qt

SysProgs 에서 제공하는 라즈베리파이용 툴체인에는 sysroot 포함되어 있어 기존 리눅스에서 빌드 했을 때보다 작업량은 적다. 그냥 빌드 설정을 진행하고 바로 빌드를 진행하면 된다.

../qt-src/configure -opensource -confirm-license -release -opengl es2 -device linux-rpi3-g++ -device-option CROSS_COMPILE="d:\toolchains\raspberry-pi\bin\arm-linux-gnueabihf-" -prefix /usr/local/qt5pi -extprefix "d:\qt\5.8\raspberry_pi" -hostprefix "d:\qt\5.8\raspberry_pi" -nomake examples -nomake tests -no-use-gold-linker -qt-pcre -qt-xcb  -skip qtscript -skip qttools -skip qtserialbus

mingw32-make -j4 && mingw32-make install -j4

Or

nmake (visual studio only)

주의사항

나의 경우 빌드할 아래와 같은 오류가 생겨서 빌드를 실패했다.
qqmlpropertycache_p.h:70:7 error: forward declaration of 'class QCryptographicHash'
Qt 포럼에서 확인을 해보니 알려진 버그 이며,
 .../qtdeclarative/src/qml/qml/qqmltypeloader.cpp
위의 해당 파일에서 67번째 라인에 아래의 참조파일을 추가해주면 해결 된다.
#include <QtCore/qcryptographichash.h>

출처: <https://forum.qt.io/topic/77902/compilation-of-qt-5-8-1-fails/4>


나머지 작업은 기존 포스팅한 것과 같다.

댓글

이 블로그의 인기 게시물

Qt Framework를 사용하여 라즈베리파이 응용프로그램 개발 #02

Qt5를 사용하기 위한 라즈베리안 설치 및 설정 1. 라즈베리안 이미지 내려받기 wget http://downloads.raspberrypi.org/raspbian_latest -O raspbian-latest.zip 2. 라즈베리안 이미지 설치 https://etcher.io/ 에서 이미지 버너를 내려받아 사용하면 된다. 윈도우, 리눅스, 맥에서 모두 동작하므로 사용하기 용의 하다. 3. 라즈베리안 부트 옵션 설정 이미지를  sdcard에 설치를 한후 boot파티션에 있는 config.txt 파일을 수정하여 기본설정을 한다. lcd_rotate : 라즈베리파이에서 사용하는 LCD 패널을 회전 시킬 때 사용하며, 0~3 까지 사용가능 하다. 해당 1의 단위는 90도의 각도를 의미한다. gpu_mem : 라즈베리파이에서 사용하는 GPU의 메모리를 설정한다. 1의 단위는 MB를 사용한다. enable_uart : 라즈베리파이의 UART Port를 기본 콘솔로 사용하기 위해서는 해당 기능을 활성화 시켜야 한다. disable_splash : 부팅 초기에 표시되는 4색 컬러를 표시 하지 않도록 한다. 다음과 같이 해당 항목을 추가 하면 된다. # LCD Display config rotate 180 lcd_rotate=2 # GPU Memory gpu_mem=256 # Enable UART enable_uart=1 # Disable Splash disable_splash=1 4. 라즈베리안 설정 변경 라즈베리안에서 Qt를 사용하기 위해서는 기본적으로 X-Windows 시스템을 사용하지 않도록 해야하며, 경우에 따라서는 계정정보 역시 변경을 해야한다. 해당 정보는 raspi-config 명령을 통해서 변경이 가능하다. (raspi-config명령은 sudo명령을 통하여 루트권한으로 실행해야 한다.) 계정 정보 변경 보안을 위해서 추후 계정 정보를 변경해야 한...

Qt Framework를 사용하여 라즈베리파이 응용프로그램 개발 #01

라즈베리파이에 Qt5 SDK 빌드 개요 이문서는 RaspberryPi3에 Qt 5.6 혹은 5.8를 사용하여 응용프로그램을 개발하는 방법을 소개한다. 브로드컴에서 제공하는 EGL/GLES 를 사용하도록 qmake.conf 가 기존에 작성이 되어 있기 떄문에 해당 기능을 활용하여 빌드를 진행한다 . 개발환경은 우분투 혹은 데비안 그리고 맥 OS 에서 구성이 가능하며 , 이문서는 https://wiki.qt.io/RaspberryPi_Beginners_Guide 와 https://wiki.qt.io/RaspberryPi2EGLFS 를 기반으로 하여 작성이 되었다 . 기본 개발환경은 우분투/데비안을 기준으로 사용하고 macOS의 경우 다음에 기회가 된다면 추가적으로 기술하도록 한다. 작업흐름은 다음과 같은 순서로 진행을 한다 . Qt5를 사용하기 위한 라즈베리안 설치 및 설정 을 참조하여 필요한 설정 및 패키지 설치를 진행한다 . 작업 디렉토리를 정의 한다 . 라즈베리파이용 컴파일러를 내려받아 설치한다 . 라즈베리파이용 교차개발 도구를 내려받아 설치한다 . Qt5 소스코드를 내려받는다 . Qt5 필수 패키지 설치 ( 참조한 문서에서는 QtBase, QtImageFormats 패키지만을 우선적으로 빌드하여 사용하고 필요한 패키지가 추가적으로 있을시에 해당 대상만 빌드를 하도록 되어 있다 .) 빌드된 패키지를 포함한 라즈베리파이에 설치 한다 . 테스트 앱을 빌드하여 정상적으로 동작하는지 확인 한다 .