RaspberryPi3에서 Qt를 사용하는 방법은 1.Native 방법과 2.Cross Compile 방법이 있다.
Native방법은 어렵지 않으나, 스마트한 방법은 아니다.
이에 Cross Compile하는 방법을 소개한다.
소개한다고는 했지만 사실 이곳에서 모든 것을 알 수 있다.
그런고로 방법만 짧막하게 짚고 넘어간다
- RaspberryPi3 툴체인 다운로드 및 설치
- 대상 RaspberryPi에 연결하여 개발환경 동기화(호스트에 복사) – 1에서 내려받은 동기화툴 이용
- mingw를 이용하여 빌드 (configure, make, make install)
- 타겟 장치에 개발환경 직접 배포
- 이 후, 호스트에서 Qt Creator 등을 통해 크로스 컴파일 후 원격 실행
그 과정에서 주의해야하는 점을 몇 가지 소개한다.
- 첫째로 make시 일반 cmd가 아닌 mingw cmd를 사용해야한다. (mingw32-make 사용을 위함)
- 둘째로 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) 를 사용하는 것을 권장한다.