Qt Cross Compile on RaspberryPi3

RaspberryPi3에서 Qt를 사용하는 방법은 1.Native 방법과 2.Cross Compile 방법이 있다.

Native방법은 어렵지 않으나, 스마트한 방법은 아니다.
이에 Cross Compile하는 방법을 소개한다.

소개한다고는 했지만 사실 이곳에서 모든 것을 알 수 있다.
그런고로 방법만 짧막하게 짚고 넘어간다

  1. RaspberryPi3 툴체인 다운로드 및 설치
  2. 대상 RaspberryPi에 연결하여 개발환경 동기화(호스트에 복사) – 1에서 내려받은 동기화툴 이용
  3. mingw를 이용하여 빌드 (configure, make, make install)
  4. 타겟 장치에 개발환경 직접 배포
  5. 이 후, 호스트에서 Qt Creator 등을 통해 크로스 컴파일 후 원격 실행

그 과정에서 주의해야하는 점을 몇 가지 소개한다.

  1. 첫째로 make시 일반 cmd가 아닌 mingw cmd를 사용해야한다. (mingw32-make 사용을 위함)
  2. 둘째로 perl을 설치해야 한다. (경우에 따라 python을 설치하고 환경변수 설정도 해주어야 할 수 있다.)

만약 perl을 설치하지 않은 상태에서 configure를 했다면, configure 단계서부터 다시 시작해야한다.
configure를 통해 makefile을 작성하는데, perl이 설치되어있지 않다면 makefile에도 그렇게 기술될수밖에 없다.
고마우신 이 블로그 주인장께서는 Strawberry Perl 설치를 추천해주셨다.

필자의 컴퓨팅 환경은 i5-8500(6 CPUs,, 3.0Hz)DDR4 32GB를 사용한다.
configure에 10분, make에 한 시간, make install에 30분이 걸렸다. (make -j8 기준)
왜이리 오래걸리는지 이해를 못하겠다.

참고로 make core옵션에 이 있다.
make의 j 옵션은 병렬 컴파일을 가능하게 해주는데,
make 개발자는 j 인자로 (코어수)*120%를 사용할 때 컴파일이 가장 빨랐다고 한다.
4코어면 -j5 (4.8), 6코어면 -j7 (7.2), 8코어면 -j10 (9.6) 를 사용하는 것을 권장한다.

댓글 남기기