在ARMv8上编译 - 在ARMv7上运行

时间:2016-05-07 22:16:28

标签: compilation armv7 building icinga

是否可以在ARMv8上编译Package并在ARMv7上运行它?

我对整个建筑物(我)并没有真正的经验。 我来到这个问题是因为我的Odroid C1 +由于RAM非常有限而无法编译icinga2。 C2有2 GB的RAM,可能会更好地完成这项任务。

但是我可以在C1 +(ARMv7)上运行C2(ARMv8)编译包吗?

1 个答案:

答案 0 :(得分:2)

  

是否可以在ARMv8上编译Package并在ARMv7上运行它?

这称为交叉编译,是生成ARM代码的常用方法 - 只有大多数ARM二进制文件的构建机器现在可能都是x86_64。但是如果你有一个针对在ARMv8上运行的平台ARMv7的编译器,我就不会发现问题。

  

我对整个建筑物(我)并没有真正的经验。我来到这个问题是因为我的Odroid C1 +由于RAM非常有限而无法编译icinga2。 C2有2 GB的RAM,可能会更好地完成这项任务。

你知道在编译方面有什么好处吗?一台具有4GB以上RAM,​​大容量RAM带宽和更高存储带宽的合适PC,具有高流水线的多核CISC CPU而不是高能效的ARM。

实际上,嵌入式系统的软件通常建立在具有交叉编译器的非嵌入式计算机上。在PC上交叉编译C1 +的方法绝对不同;我通常建议您使用Linux发行版(如果您正在使用任何版本)的方法来交叉编译软件包。

ARMv7是与ARMv8不同的平台,因此在v8上从ARMv7编译软件没有优于在x86上编译ARMv7的软件。无论如何,你需要一个交叉编译工具链。