如何为RasPi3交叉编译

时间:2016-06-03 13:03:33

标签: raspberry-pi cross-compiling raspberry-pi3 qt5.7

我目前正在尝试为我的Raspberry Pi 3交叉编译Qt 5.7。这是我的第一个交叉编译尝试,所以请善待。 :)

在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 个答案:

答案 0 :(得分:3)

经过多次努力(接受的解决方案对我不起作用),我终于在ubuntu上交叉编译qt 5.6 for raspberry pi 3。 你基本上需要遵循这个众所周知的how to。请务必使用以下配置:

  

./ 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   测试-no-use-gold-linker

答案 1 :(得分:2)

arm-bcm2708/文件夹只是一个名称。它包含几个构建工具链。使用系统安装的工具链也很完美。所以我在我的构建机器(Debian GNU / Linux)上安装了包g++-arm-linux-gnueabihf并使用了这个configure调用:

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