Кросскомпиляция Qt 5.12 для Raspberry Pi 1,2,3 B+ под Windows

raspberry pi

В общем на Ubuntu скомпилили, открываем пост и компилим теперь под Windows.

[tip]UPDT1: Обновлено для Qt 5.12.2 и Raspbian 2018-11-13 Stretch для Raspberry PI3 Model B+[/tip]

1. Качаем актуальную версию Raspbian и с помощью WinFLASHTool  пишем её на сд карточку.

2. Так же.

3.

В дальнейшем везде будет подразумеваться х86 версия.

Качаем msys2, ставим в папку C:\SysGCC\msys2\

Качаем MinGW (у меня 730), распаковываем  в папку C:\SysGCC\mingw32 с соблюдением структуры.

Качаем Perl.

Запускаем C:\SysGCC\mingw32.exe,

pacman -Syu #попросит закрыть - закрываем, запускаем вновь и прописываем далее: 
pacman -Su 
pacman -S openssh 
pacman -S rsync
pacman -S make 
pacman -S python
pacman -S python2
pacman -S wget
pacman -S patch
pacman -S pkg-config 
pacman -S diffutils
pacman -S git

и остальное прописываем так же

4.  Качаем тулчейн и ставим в C:\SysGCC\Raspberry

5. Запускаем C:\SysGCC\Raspberry\TOOLS\UpdateSysroot.bat, нажимаем select, подключаемся к малине (пользователь «pi» пароль «raspberry») и в список синхронизации дописываем

/opt/vc/

6. Пропускаем, за нас это сделал шаг 5.

7.

cd /c/SysGCC/Raspberry
git clone git://code.qt.io/qt/qt5.git QtSources
cd QtSources
PATH=/c/Strawberry/perl/bin:$PATH
perl init-repository
git checkout 5.12 # Если нужно 5.9, то проверял с 5.9.1
git submodule update --recursive

BASEPATH=/c/SysGCC/Raspberry
PATH=$PATH:/c/SysGCC/Raspberry/bin
PATH=$PATH:/c/SysGCC/mingw32/bin
./configure -skip wayland -skip script -skip webengine -no-pch -no-kms -no-xcb -no-use-gold-linker -nomake tests -nomake examples -reduce-exports -eglfs  -release -opengl es2 -device linux-rasp-pi3-vc4-g++ -device-option CROSS_COMPILE=$BASEPATH/bin/arm-linux-gnueabihf- -sysroot $BASEPATH/arm-linux-gnueabihf/sysroot -opensource -confirm-license -platform win32-g++ -make libs -prefix $BASEPATH/qt5pi -extprefix $BASEPATH/qt5pi -hostprefix $BASEPATH/qt5 -v
make -j 4
make install

Здесь компилится для Raspberry Pi 3B+, для 1 и 2 в посте под Linux.

[warning]

Если будет проблема с путями, к примеру «../../../../../../../../../../../../Raspberry/»  , то Perl должен быть скачан именно по ссылке выше и в PATH идти первее всех. Ну и очищаем и заново запускаем конфигурацию.

[/warning]

8. так же

9. так же

10. так же

11. так же

12. так же

12.1. так же

12.2. Путь: C:\SysGCC\Raspberry\bin\arm-linux-gnueabihf-g++
ABI: arm-linux-generic-elf-32bit

12.3. Путь C:\SysGCC\Raspberry\bin\arm-linux-gnueabihf-gdb          

12.4.  Для qmake путь C:\SysGCC\Raspberry\qt5\bin\qmake.exe

12.5. так же

14. так же

15. ????

16. PROFIT!

Related posts

QML Сделать задержку перед началом анимации

QtCreator не открывает диалог выбора файлов, проектов, не открывает проект

Сборка Qt 6.8 (Dev) из исходников в Docker контейнере (Linux)

2 комментария

Nikolaz 5 июня 2018 - 11:47
то же самое: Cannot specify both -xplatform and device при попытке убрать параметр "-xplatform linux-arm-gnueabihf-g++" сыпятся другие ошибки. печалька :-(
Klim 4 сентября 2017 - 13:19
при выполнении команды ./configure с Вашими параметрами вылетает ошибка: Cannot specify both -xplatform and device. Не могли бы подсказать как можно было бы решить эту проблему?
Add Comment