QT,了解Raspberry PI3的交叉编译

时间:2019-02-19 16:22:23

标签: qt cross-compiling raspberry-pi3

我正试图了解如何为Raspberry PI3进行交叉编译。

首先,让我检查一下我是否正确理解了交叉编译的含义:是否可以针对与构建应用程序的计算机不同的硬件进行编译?这意味着要从Windows系统构建一个linux应用程序?

第二,我发现的所有教程都需要为目标平台构建QT。这是因为要构建QT应用程序,我需要QT库的特定于目标硬件的内置版本吗?为什么没有预建版本?

第三,我不明白为什么在我能找到的所有教程中都需要覆盆子图像。

这些是我发现的一些教程,我发现确实很奇怪,需要如此长的设置才能交叉编译应用程序,而我只是想知道我是否要做什么(从Linux机器上编译raspberry-pi3 QT应用程序)就是这些文章真正描述的内容。

Tutorial 1Tutorial 2QT official embedded device page

1 个答案:

答案 0 :(得分:0)

您是正确的,交叉编译建立在一种类型的硬件(主机)上,可以在另一种类型的硬件(目标)上运行。

如果您愿意购买Qt的商业版本,则Qt将提供用于在特定Raspberry Pi上进行开发的交钥匙解决方案(Boot to Qt)。通过交钥匙,我的意思是他们拥有用于交叉编译的所有目标工具以及针对目标的正确构建的库等。这并不便宜,并且可能不是发烧友的路。

如果您使用Qt的开源(免费)版本,则需要自己完成大多数设置工作。很难找到为您构建的所有内容的原因主要与两件事有关:发行版的大小以及针对什么构建的内容(即哪个Qt版本用于哪个Raspberry Pi和哪个Raspberry Pi Linux版本以及哪个版本)。驱动程序等)。

需要Raspberry Pi映像,因为您需要正确的库来构建Qt。交叉编译工具需要链接到目标(Raspberry Pi)图像。

是的,设置Qt交叉编译环境是一个漫长的过程,但是对于每个Qt版本,只需要执行一次即可。设置好环境后,在目标Raspberry Pi上构建和部署Qt应用程序确实非常快捷,简单。