用于ARM的Clang Cross编译?

时间:2013-02-04 23:25:15

标签: c linux arm clang cross-compiling

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

2 个答案:

答案 0 :(得分:24)

为Raspberry Pi交叉编译运行软浮动Linux发行版添加标记-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

答案 1 :(得分:1)

参见EmbToolkit项目。它提供了生成clang / llvm的能力 或基于gcc的交叉编译工具链。