[TIP] QT를 이용한 라즈베리파이 크로스 컴파일 환경 구축(2)

by 리눅스초짜 posted Dec 14, 2017
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

앞장에 이어서 이번에는

복사하고 붙여넣고 이렇게 저렇게 해서 세팅하는 방법을 하고 마무리 짓겠습니다.


라즈베리파이에서 사용하실수 있는 모든 라이브러리를 다 설치하셨으면

라즈베리파이를 종료하시고 라즈베리파이의 SD카드를 PC에 꽂습니다.

(리눅스 기반이라면 라즈베리파이의 sd카드 내용을 읽을 수 있습니다.)



그다음에 적절한 위치에 RaspiLibs라는 폴더를 만듭니다.

// 저같은 경우에는 /home/${username}/RaspiLibs로 만들었어요.


그다음 첨부한 압축 파일을 폴더 안에 해체합니다.

그러면 RaspiLibs라는 폴더 안에 common, linux-rpi-g++두개의 폴더가 생성될 겁니다.

여기에 sysroot라는 폴더를 만들어줍니다 그럼 총 3개의 폴더가 생성되 있을겁니다.


그다음 sysroot폴더 안에

라즈베리파이 SD카드에 있는 모든것을 긁어오셔도 좋구요.

저같은 경우에는

/lib

/opt

/usr/include

/usr/lib

/usr/local/include

/usr/local/lib

해당 경로에 있는 내용들만 긁어왔어요. (이렇게 각각 긁어오시는것을 추천합니다.)

이 부분이 아마 시간이제일 많이 소요될 겁니다... 아무튼..


다 되셧으면, linux-rpi-g++폴더에 들어가 qmake.conf 파일을 확인 및 수정해줍니다.

다른것은 보실 내용이 없구요.


약 14번째 줄의 RPI_SYSROOT를 주목해주세요.

아마 Modify Required..라고 되어있을건데요.

이곳의 경로를 아까 라즈베라이 라이브러리를 긁어온 sysroot의 경로로 맞추어줍니다.

아마 저를 따라하신분은

/home/${username}/RaspiLibs/sysroot

가 되겟군요.

여기까지 하셨으면 거의 다한겁니다.


그럼 이제 QT를 켜줍니다.

tools->options를 갑니다.

아마 컴파일러를 먼저 설치하시고 QT를 설치하신분들은 자동으로 대분의 컴파일러를 인식했을거에요.

만약 ARM 크로스컴파일러를 인식하지 않았으면 build&run 에서 compilers 탭을 가신 후에

/usr/bin/

폴더의 arm-linux-gnueabihf-gcc-5, arm-linux-gnueabihf-g++-5를 등록해주시면 됩니다.


그다음 라즈베리파이 타켓 기기를 등록해야 해요

스크린샷 2017-12-14 15-23-33.png

위와 같이 라즈베리파이의 ip주소와 계정 및 비밀번호를 입력해서 등록합니다.


그담에

이부분이 가장 중요한데요. Build&Run -> kits로 갑니다.

스크린샷 2017-12-14 15-24-19.png


다른것들은 크게 중요하지 않지만.

Device, Sysroot, Compiler, Qt mkspec 이것들을 설정해주어야 합니다.

Device는 아까 라즈베이파이를 등록한 그것을 선택하시면 됩니다.

Sysroot는 저희가 아까 긁어온 라즈베리파이 라이브러리 폴더를 의미합니다. 그곳의 경로를 선택해줍시다.

컴파일러는 설치한 ARM컴파일러를 선택하시면 되는 부분이구요.

마지막으로 mkspec는 아까 첨부파일에서 다운받아 수정한 파일의 경로를 적어주셔야 합니다.

저를 따라하셧으면

/home/${username}/RaspiLibs/linux-rpi-g++을 선택해주시면 됩니다.


다 설정하셧으면 이제 OK를 눌러줍니다.

이제 설정은 완료되었고 테스트를 해볼 시간입니다.


대충 적당한 gui를 짭니다.

물론 프로젝트를 생성할때 라즈베리파이용 키트도 같이 등록해야 되겟죠?

등록이 안되었으면 왼쪽에 prㅐjects로 가셔서 설정한 라즈베리파이용 키트를 등록하면 됩니다.

그다음 pro파일에 


linux-rpi-g++ {
    target.path = /home/pi/qtCode
    INSTALLS += target
}

을 등록하시고 저장하시면 라즈베리파이로 전송이 되어서 실행이 됩니다.




Articles

6 7 8 9 10 11 12 13 14 15