백곡시스템

TUTORIAL: Qt Crosscompile (Qt5.10.1)

https://www.raspberrypi.org/forums/viewtopic.php?f=75&t=204778

여기에 따라 RPI 제로 W와 Qt는 5.10.1 내 단계별 튜토리얼 https://wiki.qt.io/RaspberryPi2EGLFS은

주십시오 “raspberrypi.local는”사용의 라즈베리 파이의 IP 주소 작동하지 않는 경우 

라즈베리 파이를 준비

사용하십시오 새로운 raspbian (2018년 6월 27일는, 라이트는 테스트하지 작동 할 수 있습니다) 이미지가 

업데이트
열어 /etc/apt/sources.list의 파일 및 뎁-SRC에 대한 행의 주석을 제거를

코드 : 모두 선택

코드 : 모두 선택

/ opt / vc / lib에 누락 된 라이브러리를 만들려면 수동 커널 업데이트가 필요합니다.

코드 : 모두 선택

종속성 설치

코드 : 모두 선택

목표 설정

코드 : 모두 선택

준비가되면 Raspberry Pi는 

Linux 호스트 (예 : Ubuntu x64) 업데이트  종료 할 준비를 하지 않습니다.

코드 : 모두 선택

종속성 설치

코드 : 모두 선택

또한, QtCreator가 설치되어 있어야합니다 (Qt 5.10.1을 Ubuntu 18.04에서 사용합니다). 패키지 소스에서 Qt를 사용할 수 있습니다. 그러나 여기에 많은 것을 설치해야합니다. 설치 프로그램 을 사용 하는 것이 더 쉽습니다 ( http://download.qt.io/official_releases … 5.10.1.run ). 

ssh 공개 키 만들기

코드 : 모두 선택

디렉토리 만들기

코드 : 모두 선택

또는 시스템에서 여러 사용자를 사용하는 경우 uid 1000을 사용자 이름으로 바꿉니다 (uid / gid 1000 = 기본 사용자 / 그룹) 

Download Toolchain

코드 : 모두 선택

PATH에 toolchain 바이너리 디렉토리를 추가하십시오. 파일 .bashrc 열기

코드 : 모두 선택

이 줄을 파일의 끝에 삽입하십시오.

코드 : 모두 선택

변경은 터 L 널이 다시 시작될 때만 적용됩니다. 여기에서 터미널을 닫으면 / opt / qt5pi 폴더로 다시 이동하십시오. 
/ 옵션 / qt5pi / 도구 / 팔 bcm2708 / GCC-리나 – 팔 – 리눅스 – gnueabihf-raspbian / 빈 : 32 비트 호스트를 사용하는 경우,이 툴체인 사용하십시오 

Qt는 소스 다운로드

코드 : 모두 선택

Untar Qt 소스

코드 : 모두 선택

hf 구성 만들기

코드 : 모두 선택

Raspberry Pi sysroot 다운로드

코드 : 모두 선택

이것은 약간의 시간이 걸립니다. 파일이 전송되지 않았다는 오류 메시지가 나타날 수 있습니다. 이것은 정상적인 것이며 무시할 수 있습니다. 어떤 경우에도 / usr 폴더의 모든 권한을 변경하지 마십시오! 

“누락 된”라이브러리에 대한 올바른 심볼릭 링크 만들기

코드 : 모두 선택

코드 : 모두 선택

코드 : 모두 선택

코드 : 모두 선택

팁 : 심볼릭 링크가 이미 라즈베리 파이에 변경 한 경우 다시 파이에서 아래로 초대 SYSROOT 경우 (예 : 업데이트)이 단계를 절약 할 수 있습니다 

상대 심볼릭 링크에 절대 심볼릭 링크로 변환

코드 : 모두 선택

이 단계에서는 반드시 symlink가 변경된 결과물을 얻어야합니다. 심볼릭 링크는 sysroot를 다운로드 한 후 호스트 시스템의 라이브러리를 잘못 가리 킵니다. 이 문제를 해결해야합니다. 출력을받지 못하면 무언가 잘못되었거나이 단계가 이미 실행되었습니다. 

빌드 디렉토리 빌드

코드 : 모두 선택

구성

코드 : 모두 선택

QtScript를 건너 뛰었으므로 더 이상 사용되지 않습니다. 

라즈베리 파이의 각 세대를 들어 -device 변경할 수있는 옵션이 
Raspberry Pi 1 (+ Zero and Zero W): -device linux-rasp-pi-g++
Raspberry Pi 2: -device linux-rasp-pi2-g++
Raspberry Pi 3: -device linux-rasp-pi3-g++
Raspberry Pi 3 with VC4 driver: -device linux-rasp-pi3-vc4-g++

확인

코드 : 모두 선택

Raspberry Pi에 업로드

코드 : 모두 선택

Qt를 구성

개방 QtCreator

도구 -> 옵션 …-> 장치 -> 추가
일반 리눅스 디바이스
변경 호스트 이름, 인증 유형 키, 사용자 이름 및 개인 키를 추가 (~ / 스푸핑 / id_rsa_gsg_keypair를)을 첨가

도구 -> 옵션 …-> 빌드 및 실행> Debuggers-> 추가
변경 이름과 디렉토리 (/ 옵션 / qt5pi / 도구 / 팔 bcm2708 / GCC-리나 – 팔 – 리눅스 – gnueabihf-raspbian-64 / 빈 / 팔 – 리눅스 – gnueabihf-GDB)
디버거를 툴체인은 qtcreator와 함께 작동하지 않습니다. 
당신은 (감사에 대한 GrisuMS에 설치 호스트 시스템에서 GDB multiarch을 참고 하고 해당 경로 (일반적으로는 / usr / 빈 / gdb를 multiarch)를 사용). 

도구 -> 옵션 …-> Compilers-> 추가 -> GCC> C
이름 변경 및 디렉토리 (/ 옵션 / qt5pi / 도구 / 팔 bcm2708 / GCC-리나 – 팔 – 리눅스 – gnueabihf-raspbian-64 / 빈 / 팔 – 리눅스 – gnueabihf의 GCC) 
<정의>하는 팔 리눅스의 ABI 일반적인 일레븐 – 32 비트를 변경 

도구 -> 옵션 …-> Compilers-> 추가 -> GCC> C ++ 
변경 이름과 디렉토리 (/ 옵션 / qt5pi / 도구 / 팔 bcm2708 / GCC-리나 – 팔 – 리눅스 – gnueabihf -raspbian-64 / 빈 / 팔 리눅스 gnueabihf-g를 ++) 
<사용자>에서 ABI 변화 팔 리눅스 제네릭 일레븐 – 32 비트하는 

도구 -> 옵션 …-> Qt는 버전> 추가 
선택 / 옵션 / qt5pi / SYSROOT / usr / 지방 / qt5pi / 빈 / qmake를 

{{
Qt Konfiguration

QtCreator öffnen

Tools->Options…->Devices->Add
Generic Linux Device
Ändere Hostname, authentication type key, Username und füge Private Key ( ~/.ssh/id_rsa ) hinzu

Tools->Options…->Build&Run->Debuggers->Add
Ändere name und Verzeichnis ( /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gdb )
Der Debugger aus dem Toolchain funktioniert mit qtcreator nicht.
Man muss gdb-multiarch auf dem Hostsystem installieren (Danke an GrisuMS für den Hinweis) und dessen Pfad (meist /usr/bin/gdb-multiarch ) verwenden.

Tools->Options…->Compilers->Add->GCC->C
Ändere name und Verzeichnis ( /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-gcc )
ABI von <Benutzerdefiniert> auf arm-linux-generic-elf-32bit ändern

Tools->Options…->Compilers->Add->GCC->C++
Ändere name und Verzeichnis ( /opt/qt5pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ )
ABI von <Benutzerdefiniert> auf arm-linux-generic-elf-32bit ändern

Tools->Options…->Qt Versions->Add
Wähle /opt/qt5pi/sysroot/usr/local/qt5pi/bin/qmake

Tools->Options…->Kits->Add
Ändere Name
Geräte Typ: Generic Linux Device
Gerät: Wähle zuvor erstelltes Raspberry Pi Gerät
Sysroot: Wähle /opt/qt5pi/sysroot
C and C++: Wähle zuvor erstellten Raspberry Pi Kompiler
Debugger: Wähle zuvor erstellten Raspberry Pi Debugger
Qt version: Wähle zuvor erstellte Raspberry Pi Qt Version

}}

도구 -> 옵션 …-> Kits-> 추가 
변경 이름 
장치 유형 : 일반 리눅스 디바이스 
장치 : 이전에 만든 라즈베리 파이 장치 선택 
SYSROOT를 :/ opt / qt5pi / sysroot를 선택하십시오.
C 및 C ++ : 이전에 만든 라즈베리 파이 컴파일러 선택 
디버거 : 이전에 만든 라즈베리 파이 디버거 선택 
의 Qt 버전 : 이전에 만든 라즈베리 파이의 Qt 버전 선택 

마침을 :)

하나 여전히 끝에 파일 .PRO 쓰기를 준수해야하는 프로젝트를 생성 한 후 :

코드 : 모두 선택

QtCreator에서 컴파일 버튼을 누르면 컴파일 만됩니다. 
초록색 재생 버튼을 누르면 편집이 시작되고 이진 파일은 sftp를 통해 Raspberry Pi에 업로드되고 실행됩니다 
. 디버그 버튼도 작동해야합니다. 

* 편집 가능한 
경우 문제가 발생한 경우 첨부하십시오. 사용 가능한 로그 파일. 예를 들어 파일을 업로드하는 데 사용 pastebin.com

* 편집 
약간의 작은 업데이 트를 만들었 습니다. Qt 5.11.1은 여전히 ​​기다려야 만합니다. 아직 많은 버그가 있습니다. 
또한 “Toolchain 다운로드”의 단계를 자동으로 수행 할 수있는 bash 스크립트를 첨부했습니다. 나는 너에게 그다지 설명하지 않을 것이다. 누가 어떻게 작동 하는지를 알고 싶다면 Bash 스크립팅을 다루어야한다. ;)

* 편집
약간의 수정. 그런데 독립 실행 형 응용 프로그램을 프로그래밍하고 5.11.1을 주장하려는 사람은 buildroot 2018.08.2를 사용할 수 있습니다. 나는 그것에 대해 아무 말도하고 싶지 않습니다 … 여전히 자신을 테스트하고 있지만, 빌드가 잘 작동하는 한 빨리 보충을 할 것입니다. 
또한 몇 가지 걸림돌이 있습니다. 따라서 초보자를위한 것은 아닙니다.

첨부 파일
qt5build.0.0.1.zip
(1.27 KiB) 다운로드 154 회

댓글 남기기

Close Menu