如何使用 LLVM >= 3.1 将对象链接到库?(没有 GNU ld) [英] How to link object to libraries with LLVM >= 3.1 ? ( no GNU ld )

查看:25
本文介绍了如何使用 LLVM >= 3.1 将对象链接到库?(没有 GNU ld)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 Llvm/Clang(版本 3.3 (trunk 168461))提供的工具生成工作可执行文件?

我已经用 clang++ -c [...] 编译了一个对象,我想尝试将此对象链接到 1 个特定库,看看这是否可以生成一个有效的可执行文件.p>

我注意到,从 3.1 版本 llvm-ld 开始,它已被删除,并且 llvm-link 看起来并没有继承 的所有选项llvm-ld,虽然它在官方文档中被标记为 llvm-ld 的替代品,所以我只是不明白我应该如何链接这个对象.

我不想使用 GNU/GCC 套件中的 ld,只使用来自 llvm 的工具.

总结一下,这是我从 svn 的 llvm 构建中获得的工具

bugpoint clang-check llvm-bcanalyzer llvm-extract llvm-objdump llvm-stress scan-buildc++-analyzer clang-tblgen llvm-config llvm-link llvm-prof llvm-symbolizer 扫描视图ccc-analyzer llc llvm-cov llvm-lit llvm-ranlib llvm-tblgen scanview.cssclang lli llvm-diff llvm-mc llvm-readobj macho-dump ScanView.pyclang++ llvm-ar llvm-dis llvm-mcmarkup llvm-rtdyld opt sorttable.jsclang-3.3 llvm-as llvm-dwarfdump llvm-nm llvm-size Reporter.py startfile.py

谢谢.

解决方案

此时(还)没有 llvm 链接器.不,llvm-link 不是 LLVM ld 的替代品.因此,您现在需要使用 binutils 中的 ar/ranlib/ld.

How I can generate a working executable with the tools provided with Llvm/Clang ( version 3.3 (trunk 168461) ) ?

I have compiled an object with clang++ -c [...] and i would like to try to link this object to 1 specific library and see if this can generate a working executable.

I have noticed that from the 3.1 release llvm-ld it's been removed and llvm-link doesn't look like it has inherited all the options from llvm-ld, although it's marked as the alternative to llvm-ld on the official docs, so i just don't get how I'm supposed to link this object.

I don't want to use ld from the GNU/GCC suite, only tools from llvm.

To summarize this are the tools that i have got from the llvm build from the svn

bugpoint      clang-check   llvm-bcanalyzer  llvm-extract   llvm-objdump  llvm-stress      scan-build
c++-analyzer  clang-tblgen  llvm-config      llvm-link      llvm-prof     llvm-symbolizer  scan-view
ccc-analyzer  llc           llvm-cov         llvm-lit       llvm-ranlib   llvm-tblgen      scanview.css
clang         lli           llvm-diff        llvm-mc        llvm-readobj  macho-dump       ScanView.py
clang++       llvm-ar       llvm-dis         llvm-mcmarkup  llvm-rtdyld   opt              sorttable.js
clang-3.3     llvm-as       llvm-dwarfdump   llvm-nm        llvm-size     Reporter.py      startfile.py

Thanks.

解决方案

There are no llvm linker at this time (yet). And no, llvm-link is not a replacement for LLVM ld. So, you'd need to use ar / ranlib / ld from your binutils for now.

这篇关于如何使用 LLVM >= 3.1 将对象链接到库?(没有 GNU ld)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆