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

时间:2016-03-21 15:21:02

标签: linux qt build cross-compiling embedded-linux

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

  • 从Ubuntu 14.04操作系统开始,我应该遵循交叉编译和步骤的步骤。使用imx6处理器在嵌入式主板上部署我的Qt GUI应用程序?
  • 有没有工具和我必须安装的库,Qt Creator和& Qt 5
  • 编译完成后,应用程序的功能是否有任何限制?换句话说,代码在PC上做了什么,也在板上完成了?

2 个答案:

答案 0 :(得分:2)

这是一个很大的问题!

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

如果您在ARM平台上运行Qt creator,则不需要交叉编译器,但是嵌入式环境通常在资源有限的情况下相对较慢,因此交叉编译。您可以在拥有所有工具的快速计算机上进行交叉编译,并在速度较慢的嵌入式系统上运行生成的二进制文件。

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

然后你需要针对这个ARM目标构建Qt。

然后你可以在Qt之上构建你的应用程序。

我建议你看一下Yocto(https://www.yoctoproject.org/)来建立一个在iMX6上运行的最小系统以及合作的交叉编译器。或者你可以看一下crosstool-ng(http://crosstool-ng.org/)来构建编译器,然后自己动手操作O / S.

通常情况下,如果你有一个制造商的开发板,他们已经为你做了所有这些,所以你至少可以在第一天尝试一下!

答案 1 :(得分:1)

使用Yocto项目并查找制造商/维护者板(toradex,NXP / Freescale等)或Buildroot的元层。

对于使用Yocto Project的产品。