加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – Clang并不编译x86以外的平台的代码

发布时间:2020-12-16 07:52:32 所属栏目:百科 来源:网络整理
导读:我在Ubuntu 12.04 x86 64位下,我已经从官方的svn存储库中成功编译了一个32位版本的llvm / clang. 我现在正在为ARM编译c代码,在这一点上,我不关心像armv5和armv7a这样的平台版本,我正在关注平台交换机如何用于clang: llvm-config --targets-builtARM CellSPU
我在Ubuntu 12.04 x86 64位下,我已经从官方的svn存储库中成功编译了一个32位版本的llvm / clang.

我现在正在为ARM编译c代码,在这一点上,我不关心像armv5和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,但似乎没有任何效果.

在阅读了一些文档之后,我注意到,只有在MAC OS X / Darwin下,cl声才适用于ARM,并不适用于其他操作系统下的ARM.

我如何编译ARM和clang以及llvm-config –targets-built的输出真的有关?

解决方法

-arch是唯一的功能.您应该在非达尔文平台上使用-target.或者,编译llvm / target指定目标三元组或创建从clang到-clang的链接.在你的情况下,目标三元组将是arm-none-linux-gnueabi

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读