How to cross-compile for RasPi3

天大地大妈咪最大 提交于 2019-12-04 12:26:30

问题


I am currently trying to cross-compile Qt 5.7 for my Raspberry Pi 3. This is my first cross-compiling atempt, so please be kind. :)

On the Qt Wiki I found instructions for the Raspberry Pi 2, which I am currently trying to adapt.

The compile line for RasPi 2 is as follows:

./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

I replaced the option

-device linux-rasp-pi2-g++

by

-device linux-rpi3-g++

as I found within the raspi-tools folder.

Now I am stuck at the option

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

as in the ~/raspi/tools/ folder I cannot see any obviously raspi3-related entry. There is only the arm-bcm2708/ folder. Shouldn't there be some bcm2837 entry? Does that mean there is no support for RasPi 3 yet or am I missing something?

Thank you for any hints.


回答1:


After much struggle (the accepted solution does not work for me), I finally got to cross compile qt 5.6 for raspberry pi 3 on ubuntu. You basically need to follow this well known how to. Just be sure to use the following configure:

./configure -release -opengl es2 -device linux-rpi3-g++
-device-option CROSS_COMPILE=~/raspi/tools/arm-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




回答2:


The arm-bcm2708/ folder is just a name. It contains several build tool chains. It's perfectly fine to use system-installed tool chains as well. So I installed the package g++-arm-linux-gnueabihf on my build machine (Debian GNU/Linux) and used this configure call:

./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


来源:https://stackoverflow.com/questions/37615160/how-to-cross-compile-for-raspi3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!