如何交叉编译 RasPi3
How to cross-compile for RasPi3
我目前正在尝试为我的 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 的支持,或者我错过了什么?
感谢您的任何提示。
arm-bcm2708/
文件夹只是一个名称。它包含几个构建工具链。也可以使用系统安装的工具链。所以我在我的构建机器(Debian GNU/Linux)上安装了包 g++-arm-linux-gnueabihf
并使用了这个配置调用:
./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
经过多次努力(公认的解决方案对我不起作用),我终于在 ubuntu 上为 raspberry pi 3 交叉编译了 qt 5.6。
你基本上需要遵循这个众所周知的 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
tests -no-use-gold-linker
我目前正在尝试为我的 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 的支持,或者我错过了什么?
感谢您的任何提示。
arm-bcm2708/
文件夹只是一个名称。它包含几个构建工具链。也可以使用系统安装的工具链。所以我在我的构建机器(Debian GNU/Linux)上安装了包 g++-arm-linux-gnueabihf
并使用了这个配置调用:
./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
经过多次努力(公认的解决方案对我不起作用),我终于在 ubuntu 上为 raspberry pi 3 交叉编译了 qt 5.6。 你基本上需要遵循这个众所周知的 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 tests -no-use-gold-linker