Qt Creator 4.0.2 和 Beaglebone Black 与 Ubuntu 16.04.3
Posted
技术标签:
【中文标题】Qt Creator 4.0.2 和 Beaglebone Black 与 Ubuntu 16.04.3【英文标题】:Qt Creator 4.0.2 and Beaglebone Black with Ubuntu 16.04.3 【发布时间】:2018-01-27 09:47:18 【问题描述】:我买了一个 7" 显示屏的 Beaglebone Black。
BeagleBone 运行的是没有桌面的 Ubuntu 16.04.3 发行版。内核 4.14.11-ti-r22
我正在尝试设置 Qt Creator 4.0.2,以便我可以从我的桌面编译和部署到 BBB。 我的桌面是 Ubuntu 16.04.3 64bit,在 win7 上的 VM 中运行
我找到了很多不同的指南,但它们似乎对它们运行的硬件和目标上的分布非常具体。 我没有找到关于需要安装什么的通用概述。无论是在桌面上还是在目标上。
在桌面上,我安装了 Qt 5.7.0 GCC 64 位、GCC 5(C++,arm 32 位)和 GCC 5(C,arm 32 位)、GBD multiarch 和 Cmake 3.10.2。 据我所知,这应该足够了,但是当我尝试设置套件时,我仍然遇到错误:
编译器“GCC (C++, arm 32bit in usr/bin)”-linux-genericf-32bit) 无法为 Qt 版本“Qt 5.7.0 GCC 64bit” (x86-linux-generic-elf-64bit) 生成代码)。
还有警告:
Cmake 配置有一个 C++ 编译器集的路径,与套件工具链中配置的编译器路径不匹配。
我没有在 BeagleBone 上安装任何东西。 因为它带有用于显示和触摸屏的内核驱动程序。
有没有人可以指导我到哪里可以找到必要软件包的列表,它们的作用以及我应该按顺序安装它们。
我已经阅读了很多 Qt 文档,但在这个阶段我担心它只会增加混乱而不是提供清晰。
【问题讨论】:
【参考方案1】:从您的帖子中不清楚您是否想在您的 BeagleBone 上运行 Qt。鉴于消息,我会说您正在尝试这样做。
如果是这种情况,您将需要使用您拥有的gcc-linux-genericf-32bit
ARM 编译器为您的目标架构交叉编译 Qt。此类复杂任务的交叉编译通常需要指定rootfs
,在其中可以找到目标系统的库和头文件,因为 Qt 并非完全没有任何依赖关系。这允许交叉编译过程检索目标的依赖关系并正确执行以生成正确的二进制文件。然后可以部署这些(您可以使用远程部署,甚至可以使用qmake
或cmake
在您的BeagleBone 上通过Qt Creator 使用gdbserver
进行调试)。
【讨论】:
对不起,我不清楚。我在我的桌面上运行 QT creator。但我无法编译并部署到我的 Beaglebone。可能是因为我安装了错误的软件包或完全丢失了一些软件包。 我知道您正在桌面上运行 Qt Creator。但是您正在尝试使用 ARM 编译器创建二进制文件,并希望链接到桌面 64 位版本的 Qt。 是的,我已经在我的桌面上安装了 QT 5.7.0 GCC 64bit。但是由于某种原因,当我创建 Beaglebone 套件时,我收到了原始帖子中描述的错误和警告。由于这个原因,我无法编译我的代码。I have installed QT 5.7.0 GCC 64bit on my desktop
。正如我已经提到的,这仅在您为桌面编译时才有用。您需要创建一个完全不同的套件,其中包含 Qt 和特定于 BeagleBone 的编译器。为 BeagleBone 交叉编译 Qt 并将其添加到您的 Qt Creator。以上是关于Qt Creator 4.0.2 和 Beaglebone Black 与 Ubuntu 16.04.3的主要内容,如果未能解决你的问题,请参考以下文章