【问题标题】:How to link object to libraries with LLVM >= 3.1 ? ( no GNU ld )如何使用 LLVM >= 3.1 将对象链接到库? (没有 GNU ld)
【发布时间】:2012-11-23 11:45:07
【问题描述】:

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

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

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

我不想使用 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

谢谢。

【问题讨论】:

  • 我真的需要解释一下如何避免使用 GNU ld 并且只使用 llvm 工具...

标签: linker llvm clang


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果你想链接 LLVM 位码文件,你应该看看 LLVM Gold 插件:http://llvm.org/docs/GoldPlugin.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2017-08-31
      • 2011-02-17
      相关资源
      最近更新 更多