【问题标题】:How to cross-compile for RasPi3如何交叉编译 RasPi3
【发布时间】:2016-06-03 13:03:32
【问题描述】:

我目前正在尝试为我的 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 还是我遗漏了什么?

感谢您的任何提示。

【问题讨论】:

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


    【解决方案1】:

    经过一番努力(公认的解决方案对我不起作用),我终于在 ubuntu 上为 raspberry pi 3 交叉编译了 qt 5.6。 你基本上需要关注这个众所周知的how to。请务必使用以下配置:

    ./configure -release -opengl es2 -device linux-rpi3-g++
    -设备选项 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

    【讨论】:

    • 谢谢你。我将在下周末尝试,如果有效,我将标记为首选解决方案。
    • 我不明白 -device linux-rpi3-g++ 仅适用于 qt5.7 对吗?
    【解决方案2】:

    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
    

    【讨论】:

    • 你试过用这个交叉编译器编译ICU吗?
    • @Mark:不知道你的意思。我编译了 qtbase 和我编写的一个小演示应用程序来测试结果。
    • 我在问你是否也编译了需要 ICU 的 QtWebkit。这是因为官方交叉编译器存在一些问题:github.com/raspberrypi/tools/issues/41
    • 不,抱歉,我没有走那么远,因为我不需要 WebKit。 ..但更喜欢QWebEngine。 QtWebKit 不会长寿。 doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html
    猜你喜欢
    • 2019-05-04
    • 2014-04-30
    • 2014-07-10
    • 2011-07-14
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 2011-03-13
    相关资源
    最近更新 更多