27

是否可以为 ARM 处理器设置 Clang 进行交叉编译?主机可能在 x86(AMD64 - 可能是 Ubuntu 12.04)上,目标是 ARM(Raspberry Pi 和 Pandaboard - 将为每个单独编译),我可能在某些时候还希望交叉编译 PowerPC 架构? 程序源代码是 C 语言。

4

2 回答 2

31

要为运行软浮点 Linux 发行版的 Raspberry Pi 进行交叉编译,请添加标志-ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=softfp

要为运行硬浮点 Linux 发行版的 Raspberry Pi 进行交叉编译,请使用标志-ccc-host-triple arm-eabi -marm -mfpu=vfp -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard

为 Pandaboard 交叉编译使用标志-ccc-host-triple arm-eabiv7 -mthumb -mfpu=neon-fp16 -mcpu=cortex-a9 -mtune=cortex-a9 -mfloat-abi=hard(假设你的 Pandaboard 运行 Ubuntu)

注意:更新clang版本使用-target选项而不是-ccc-host-triple

于 2013-02-05T00:25:57.833 回答
1

请参阅EmbToolkit项目。它可以生成基于 clang/llvm 或 gcc 的交叉编译器工具链。

于 2013-03-02T15:37:18.667 回答