首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clang不为x86以外的平台编译代码

Clang不为x86以外的平台编译代码
EN

Stack Overflow用户
提问于 2012-11-05 02:49:47
回答 1查看 5.3K关注 0票数 10

我在Ubuntu12.04SVN64位下,我已经成功地从官方x86资源库编译了32位版本的llvm/clang

我现在正在尝试为ARM编译c++代码,在这一点上,我不关心像armv5armv7a这样的平台版本,我关注的是clang的平台切换是如何工作的

代码语言:javascript
复制
llvm-config --targets-built
ARM CellSPU CppBackend Hexagon Mips MBlaze MSP430 NVPTX PowerPC Sparc X86 XCore

但是下面的命令不起作用

代码语言:javascript
复制
clang++ -arch arm soft.cpp -o soft_ARM

输出为

代码语言:javascript
复制
clang-3: warning: argument unused during compilation: '-arch arm'

我也尝试过类似gcc的变体或其他组合,如-arch=arm-arch=armv7a-march=armv5,但似乎都不起作用。

在阅读了一些文档后,我注意到clang只在MAC / Darwin下适用于ARM,而它不应该在其他操作系统下适用于ARM。

我如何使用clang为ARM编译,以及llvm-config --targets-built的输出到底是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-05 10:08:39

-arch是达尔文特有的特性。您应该在非达尔文平台上使用-target。或者,编译llvm/target指定目标三元组,或者创建一个从clang到-clang的链接。在您的示例中,目标三元组将是arm-none-linux-gnueabi

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13221693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档