如何为 imx6 处理器构建 Qt 应用程序?

How to build Qt applications for imx6 processors?

同样的question也以类似的方式被问到,但答案并不令人满意。这就是为什么我想再问一次以下问题:

这是个大问题!

至少你需要一个交叉编译器,它 运行 在你的 Ubuntu 系统上,但为你的 iMX6 (ARM) 生成二进制文件。通常,当您下载 Qt 时,它还会打包一个编译器,该编译器在您下载 Qt 的平台上构建 运行,并为同一平台创建二进制文件。您需要交叉编译,所以您的主机(可能)是 x86,但您的目标是 ARM。因此,您要么需要获得在 x86 上 运行s 并生成 ARM 二进制文件的预构建编译器和库链,要么自己创建一个。对于流行的嵌入式平台(例如 Raspberry Pi),有预构建的工具链,对于开发板,供应商通常提供某种形式的预构建工具链。为了完全控制产品,您通常会自己构建一个完全满足您的产品需求的产品。

如果您是 运行ARM 平台上的 Qt 创建者,则不需要交叉编译器,但是嵌入式环境通常相对较慢且资源有限,因此需要交叉编译。您在一台拥有所有工具的快速机器上交叉编译,运行 在较慢且更受限制的嵌入式系统上生成二进制文件。

然后您必须交叉编译将 运行 在 iMX6 上运行的操作系统,可能包括适合您的嵌入式系统的自定义引导加载程序和驱动程序。

然后您需要针对此 ARM 目标构建 Qt。

然后您可以在此基础上使用 Qt 构建您的应用程序。

我建议您查看 Yocto (https://www.yoctoproject.org/) to build a minimal system to run on the iMX6 along with the partnered cross compiler. Alternatively you could look at crosstool-ng (http://crosstool-ng.org/) 来构建编译器,然后自己在上面手动滚动 O/S。

通常,如果您有来自某个制造商的开发板,他们会为您完成所有这些工作,因此您至少可以在第一天尝试一下!

使用 Yocto 项目并寻找 manufacturer/maintainer 开发板(toradex、NXP/Freescale 等)或 Buildroot 的元层。

对于喜欢使用 Yocto Project 的产品。