如何使用LLVM> = 3.1将对象链接到库? (没有GNU ld)

时间:2012-11-23 11:45:07

标签: linker llvm clang

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

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

我注意到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-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

感谢。

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

如果要链接LLVM bitcode文件,您应该查看LLVM Gold插件:http://llvm.org/docs/GoldPlugin.html