2016-06-03 7 views
5

В настоящее время я пытаюсь перекрестно скомпилировать Qt 5.7 для моей малины Pi 3. Это мой первый кросс-компилятор, так что, пожалуйста, будьте добрыми. :)Как перекрестно скомпилировать для RasPi3

На Qt Wiki я нашел instructions for the Raspberry Pi 2, который я в настоящее время пытаюсь адаптировать.

Компиляция линия для RasPi 2 выглядит следующим образом:

./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option \ 
CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- \ 
-sysroot ~/raspi/sysroot -opensource -confirm-license -make libs \ 
-prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v 

Я заменил вариант

-device linux-rasp-pi2-g++ 

по

-device linux-rpi3-g++ 

как я нашел в папке raspi-tools.

Теперь я застрял в опции

CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- 

как в ~/raspi/tools/ папке я не могу увидеть любые явно raspi3 связанные записи. Существует только папка arm-bcm2708/. Должна ли быть какая-то запись bcm2837? Означает ли это, что поддержки RasPi 3 пока нет, или я что-то упускаю?

Благодарим за любые советы.

ответ

2

Папка arm-bcm2708/ - это просто имя. Он содержит несколько цепочек инструментов построения. Также отлично использовать системные цепочки, установленные системой. Таким образом, я установил пакет g++-arm-linux-gnueabihf на моей машине построения (Debian GNU/Linux) и использовать этот конфигурационный вызов:

./configure -release -opengl es2 -device linux-rpi3-g++ \ 
    -device-option CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- \ 
    -sysroot /home/fs/raspi/sysroot -opensource -confirm-license \ 
    -make libs -prefix /usr/local/qt5pi -extprefix /home/fs/raspi/qt5pi \ 
    -hostprefix /home/fs/raspi/qt5 -v 
+0

Вы пытались скомпилировать ICU вместе с этим кросс-компилятором? – Mark

+0

@Mark: Не уверен, что вы имеете в виду. Я собрал qtbase и небольшое демо-приложение, которое я написал, чтобы проверить результат. – Bugfinger

+0

Я спрашиваю, если вы скомпилировали также QtWebkit, который требует ICU. Это связано с тем, что есть некоторые проблемы с официальным кросс-компилятором: https://github.com/raspberrypi/tools/issues/41 – Mark

3

После долгих борьбы (принято решение не работает для меня), я, наконец, получил пересечь компиляции Qt 5.6 для малины pi 3 на ubuntu. Вам в основном нужно следовать этому хорошо известному how to. Просто убедитесь, что с помощью следующей настройке:

./configure -release -opengl es2 -device линукс-rpi3-г ++
-device-вариант CROSS_COMPILE = ~/raspi/инструменты/рычажного bcm2708/gcc- linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -prefix/usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v -nomake examples -nomake tests -no-use-gold-linker

+0

Благодарим вас за это. Я попробую его в следующий уик-энд, и если он сработает, я буду отмечать это предпочтительное решение. – Bugfinger

+0

Я не понимаю - '' 'linux-rpi3-g ++' 'доступно только с qt5.7? – DeadlyJesus

+0

Он только пробовал с qt 5.6, он работает просто отлично. – fabry

 Смежные вопросы

  • Нет связанных вопросов^_^