use*_*612 10 c++ arm llvm clang
我在Ubuntu 12.04 x86 64位下,我已llvm/clang成功从官方svn存储库编译了32位版本.
我现在正在尝试为ARM编译c ++代码,此时我并不关心像armv5vs 这样的平台版本armv7a,我专注于平台交换机的工作原理clang:
llvm-config --targets-built
ARM CellSPU CppBackend Hexagon Mips MBlaze MSP430 NVPTX PowerPC Sparc X86 XCore
但以下命令不起作用
clang++ -arch arm soft.cpp -o soft_ARM
输出是
clang-3: warning: argument unused during compilation: '-arch arm'
我也曾尝试GCC样变体或其他组合一样-arch=arm,-arch=armv7a,-march=armv5但似乎没有任何工作.
在阅读了一些文档后,我注意到clang仅适用于ARM OS X/Darwin下的ARM,并且它不适用于其他操作系统下的ARM.
我如何用clang编译ARM以及它的输出llvm-config --targets-built是什么?
-arch是仅限darwin的功能.您应该在非达尔文平台上使用-target.或者,编译llvm/target指定目标三元组或创建从clang到-clang的链接.在你的情况下,目标三元组将是arm-none-linux-gnueabi