【问题标题】:Building Qt5.6 or Qt5.7 on Raspberry Pi3 or/and Pi zero在 Raspberry Pi3 或/和 Pi 零上构建 Qt5.6 或 Qt5.7
【发布时间】:2016-08-31 18:08:09
【问题描述】:

是否有关于如何在 Raspberry Pi3 上构建 Qt5.6 甚至 5.5 的工作指南?

我在 Wiki 上找到了许多指南,在某些方面似乎都不完整,我尝试的最后一个是:

https://wiki.qt.io/RaspberryPi2EGLFS

在我到达之前没关系:

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

我不确定是不是因为它是针对 Pi2 的,但出现以下错误:

    The OpenGL ES 2.0 functionality test failed!
    You migh need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in /home/.../raspi/qtbase/mkspace/mkspecs/devices/linux-rasp-p2-g++.

我不知道如何进一步发展,谢谢。

编辑,这里有更多信息:

我有一个 Raspberry Pi 3,正在运行:

    Linux pi3 4.1.21.v7+ #872 SMP Wed Apr 6 17:34:14 BST 2016 armv71 GNU/Linux

我看到的第一个错误是: ./configure: 3497: ./configure: /home/simon/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++: 未找到

我去了:

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

然后输入: arm-linux-gnueabihf-g++

它没有安装,所以: sudo apt-get install g++-arm-linux-gnueabihf

安装成功,然后再次尝试configure指令,结果相同,仍然找不到arm-linux-gnueabihf-g++

编辑 2016/06/12 ... 我尝试了另一个来源:

enter link description here

这个也有问题,有两个库是有问题的:

    libjpeg62-dev and libxcb-sync0-dev

谁能向我推荐准确且有效的信息?

编辑 2016/06/13,按照 RSATom 发布的信息后,我尝试了 wiki 页面上的信息和下载 Qt,执行配置时结果相同...

运行配置测试(第 2 阶段)... 无法处理平台 'devices/linux-rasp-pi2-g++' 的 makespec 项目错误:未找到编译器 /home/pi/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++。检查 CROSS_COMPILE -device-option 的值 无法读取 qmake 配置文件 /home/pi/qtbase/mkspecs/devices/linux-rasp-pi2-g++/qmake.conf。 错误处理项目文件:/dev/null

制作 make: * 没有指定目标,也没有找到 makefile。停止。 pi@pi3:~/qtbase $ make install make: * 没有使目标“安装”的规则。停下来。

第二次尝试,2016/06/14...

OpenGL ES 2.0 已禁用。 OpenGL ES 2.0 功能测试失败! 您可能需要通过在 /home/pi/raspi/qt5pi/qtbase/mkspecs/devices/linux-rasp-pi2-g++ 中编辑 QMAKE_INCDIR_OPENGL_ES2、QMAKE_LIBDIR_OPENGL_ES2 和 QMAKE_LIBS_OPENGL_ES2 来修改包含和库搜索路径。

第三次尝试,2016/06/15...

好的,从头开始并遵循以下信息:

https://wiki.qt.io/RaspberryPi2EGLFS

首先,我在 Pi 3 上检查了我的操作系统:

    uname -a

结果:

    Linux pi3 4.4.9-v7+ #884 SMP Fri May 6 17:28:59 BST 2016 armv7l GNU/Linux

然后:

    lsb_release -a

结果:

    No LSB modules are available.
    Distributor ID: Raspbian
    Description:    Raspbian GNU/Linux 8.0 (jessie)
    Release:        8.0
    Codename:       jessie

确定了这一点后,我跳到了第 3 步。

第4步,我第一次没看错,不想跨平台开发我想直接在树莓派3上开发。

但是我有一个运行 5.0.20 r106931 版本的 Oracle VirtualBox 和一个 Ubuntu 虚拟机,开始这个,当前版本的 Ubuntu:

    uname -a
    Linux simon-VirtualBox 3.19.0-59-generic #66-14.04.1-Ubuntu SMP Fri May 13 17:27:10 UTC 2016 x86_64 x84_64 GNU/Linuxu

    lsb_release -a
    No LSB modules are available.
    Dsitributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:        14.04
    Codename:       trusty

已完成第 4、5、6 步。

将第 7 步中的链接替换为:

    wget download.qt.io/official_releases/qt/5.6/5.6.0/single/qt-everywhere-opensource-src-5.6.0.tar.gz

然后提取:

    tar -zxvf qt-everywhere-opensource-src-5.6.0.tar.gz

完成将文件夹 'qt-everywhere-opensource-src-5.6.0' 重命名为 'qtbase' 后:

    mv qt-everywhere-opensource-src-5.6.0 qtbase

然后在克隆指令之后继续执行步骤 7:

    cd qtbase

此时滚动消息几秒钟后出现大量错误,并以:

    OpenGL ES 2.0 disabled.
    The OpenGL ES 2.0 functionality test failed!
     You might need to modify the include and library search paths by editing
     QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2 in

/home/simon/raspi/qtbase/qtbase/mkspecs/devices/linux-rasp-pi2-g++。

第四次尝试,2016/06/18...

感谢 RSATom 的努力,事情有了一些进展。

我使用以下方式升级了 Jessie 的安装:

    wget https://raw.githubusercontent.com/Topguy/Raspberry-Qt5-experiments/master/qt5_twolife_jessie_setup.sh

使下载的脚本可执行:

    chmod +x qt5_twolife_jessie_setup.sh

执行脚本:

    ./qt5_twolife_jessie_setup.sh

这将添加一个用于更新的新存储库,更新系统:

    sudo apt-get update
    sudo apt-get upgrade

确保您拥有所有必需的工具:

    sudo apt-get install build-essential

确保您拥有所需的 opengl 组件:

    sudo apt get install libgl1-mesa-dev libglu1-mesa-dev

安装qt5:

     sudo apt-get install qt5-default

再次更新系统:

    sudo apt-get update
    sudo apt-get upgrade

这是我卡住的地方,因为系统不允许我执行 qtcreator 的安装:

    sudo apt-get install qtcreator

它出错了,如果我然后重新启动 Pi,它将无法启动,我已经执行了两次此序列,虽然它似乎安装了 Qt5.5,但它并不完整并且会使 Pi 变砖,或者至少会在重新刷写 SD 卡之前无法启动。

我现在正在寻找解决方案,以找出安装此更新后 Pi 无法预订的原因以及 qtcreator 无法安装的原因。

第 5 次尝试,2016/06/19...

Qt5.7的下载源:

    wget http://download.qt.io/official_releases/qt/5.7/5.7.0/single/qt-everywhere-opensource-src-5.7.0.tar.gz

提取:

    tar -zxvf qt-everywhere-opensource-src-5.7.0.tar.gz

感谢 dbmitch 提供链接:

Preparing Raspberry Pi 3

太令人沮丧了,上面的链接看起来很有希望,但我找不到提到的 Pi 3 Qt 图像的任何链接。

2016/06/29 今天发现了这个,看起来很有希望,今晚会试试: Building Your Own Embedded Linux Image

我很快就失去了耐心,按照上面链接上的说明进行操作,我真的认为这个页面的作者没有尝试过使用链接上提供的工具。

QtCreator 中有一些不存在的菜单引用。不容易跟上,他们想推广产品的使用吗?我每天都在工作中使用 Qt 环境,它非常好,但为什么在应该支持的平台上发挥作用如此困难?

2016/07/01 第六次幸运?...

正在处理:Step by Step instructions

我只是在这一行将 5.6 更改为 5.7:

    git clone git://code.qt.io/qt/qtbase.git -b 5.6

而且它可以工作...至少我正在 Ubuntu 16.04 上构建和制作 5.7,当它完成后我会重新同步它...我会回来发布结果。

看我的回答...

【问题讨论】:

  • 您的交叉编译器的搜索路径中似乎没有安装 libgl。你能验证一下吗?
  • tbh 我不明白你为什么没有让它工作。我昨天为最新的 Raspbian 构建了 Qt 5.6.0。我只是跟着wiki.qt.io/RaspberryPi2EGLFS 并从第一次尝试就开始工作了。我唯一改变的是 - 我是从 download.qt.io/official_releases/qt/5.6/5.6.0/single/… 构建的,而不是 git repo。如果您愿意,您甚至可以尝试运行我的基本演示应用程序:github.com/RSATom/WebChimera-desktop/releases/tag/RPi.v.0.3(它已经包含预构建的 Qt 5.6.0)
  • 谢谢,我今晚试试。
  • @RSATom,好的,我尝试了从您发布的链接下载,当失败来自 wiki 页面的说明时,都无法构建......执行 ./configure 后,请参阅我的编辑以上。
  • 对我来说,您似乎做错了什么。我可以建议你从头开始并精确地关注wiki.qt.io/RaspberryPi2EGLFS

标签: qt raspberry-pi3 qt5.6


【解决方案1】:

终于成功了,点这个链接:

Installing 5.6 step by step instructions

最后我实际安装了 5.7 并且效果很好!只需将 git pull 参数从 5.6 更改为 5.7 即可!

非常感谢 RSATom

【讨论】:

  • pizero 怎么样?
【解决方案2】:

编辑 - 更新 - 仅用于商业许可的 QT 设备创建

Link describing preparing RaspPi for Boot to QT

不确定这是否对您有帮助,因为您似乎正在尝试构建自己的,但看起来最新版本可能会为您提供另一种尝试的选择。

Downloads for QT 5.7

release notes 为 6 月 16 日刚刚发布的 5.7 版

用于设备创建的 Qt

另外,用于设备创建的 Qt 已收到更新,现在已发布 使用 Qt 5.7。在此版本中,我们添加了开箱即用的支持 一套新硬件:

Rasberry Pi 3(32 位模式) - 注意这是它们的拼写

来自他们的博客...

https://blog.qt.io/blog/2016/06/16/qt-5-7-for-device-creation/

新设备图片

我们还更新了预建软件的硬件选择 图片有两个新增内容:

Raspberry Pi 3
Intel® NUC Kit DE3815TYKHE

对于这些以及其他常见的开发板,我们提供 使用我们的 SDK 安装程序预先构建的映像。您可以使用闪存设备 图像并立即开始嵌入式开发。

【讨论】:

  • 谢谢我去看看
  • 我在列表中没有看到 Pi 3 的任何版本。
  • 看起来支持来自软件内部 - 使用 QT 进行设备创建
  • 我现在正在下载 5.7.0 的 linux 源代码。
  • 感谢您的所有努力 - 一旦我进入免费无线区域,我也会这样做。这个月我使用的数据已经很高了
【解决方案3】:

尝试安装 libgl1-mesa-dev、libglu1-mesa-dev 和 mesa-common-dev。

【讨论】:

  • 在 Ubuntu 14.04 上安装这些我需要什么,我试过“sudo apt-get install libgl1-mesa-dev, libglu1-mesa-dev, mesa-common-dev”,但找不到包“libgl1-mesa-dev”或“libglu1-mesa-dev”,
  • 正确的命令是sudo apt get install libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev
  • 好的,毕竟“已经是最新版本了”,还是谢谢。
  • 吹毛求疵:apt-get installapt installapt 是一个相当新的应用程序,它比传统的apt-get 更加用户友好。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-27
  • 2020-05-24
  • 2015-01-12
  • 2021-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多