在 ARMv8 上编译 - 运行 在 ARMv7 上

Compiling on ARMv8 - Running on ARMv7

是否可以在 ARMv8 上编译一个包并运行在 ARMv7 上编译它?

我对整个建筑的事情还没有真正的经验(还)。 我提出这个问题是因为我的 Odroid C1+ 由于内存非常有限而无法编译 icinga2。 C2 有 2 GB 的 RAM,在这个任务上可能会做得更好。

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

Is it possible to compile a Package on ARMv8 and run it on ARMv7 ?

这就是所谓的交叉编译,是生成 ARM 代码的常用方式——只是现在大多数用于 ARM 二进制文件的构建机器可能 x86_64。但是,如果您有一个针对 ARMv8 平台 ARMv7 运行 的编译器,我看不出有什么问题。

I am not really experienced in the whole building thing (yet). I came to this question because my Odroid C1+ fails to compile icinga2 due to the very limited RAM. The C2 has 2 GB of RAM and will do probably better at this task.

你知道什么更擅长编译吗?具有超过 4GB RAM、大量 RAM 带宽和更高存储带宽的合适 PC,具有大量流水线的多核 CISC CPU 而不是节能的 ARM。

实际上,嵌入式系统的软件通常是在带有交叉编译器的非嵌入式计算机上构建的。在您的 PC 上为您的 C1+ 交叉编译某些东西肯定有不同的方法;我通常建议使用您的 Linux 发行版(如果您正在使用任何发行版)的方法来交叉编译包。

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