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