是否有关于如何在 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
安装成功,然后再次尝试配置指令,结果相同,仍然找不到arm-linux-gnueabihf-g++
编辑 2016/06/12 ...我尝试了另一个来源:
这也有问题,有两个库是有问题的:
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 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步,我第一次没看错,不想跨平台开发我想直接在Pi 3上开发。
但是,我让 Oracle VirtualBox 在 Ubuntu 虚拟机上运行 5.0.20 r106931 版本,启动了这个,当前版本的 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++。
第 4 次尝试,2016 年 6 月 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 年 6 月 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 提供链接:
令人沮丧的是,上面的链接看起来很有希望,但我找不到提到的 Pi 3 Qt 图像的任何链接。
2016/06/29今天发现这个,看起来很有希望,今晚试试: 构建你自己的嵌入式 Linux 映像
我很快就失去了耐心,按照上面链接上的说明进行操作,我真的不认为这个页面的作者已经用链接上可用的工具进行了尝试。
QtCreator 中有不存在的菜单引用。不容易跟上,他们想推广产品的使用吗?我每天都在工作中使用 Qt 环境,它非常好,但为什么在应该支持的平台上发挥作用如此困难?
2016/07/01 第六次幸运?...
完成工作:分步说明
我只是在这一行将 5.6 更改为 5.7:
git clone git://code.qt.io/qt/qtbase.git -b 5.6
它可以工作……至少我正在 Ubuntu 16.04 上构建和制作 5.7,当它完成后,我会重新同步它……我会回来发布结果。
看我的回答...