如何使用llvm链接器?

时间:2012-02-07 01:52:21

标签: c++ llvm

LLVM提供了2个工具llvm-link和llvm-ld。我想知道:

  • 如何合并所有.o文件?

  • 如何使用gcc -Wl,-soname,libsomething.so.1设置soname?

我想在c ++中这样做但是如果向我展示如何从命令行我将找到如何在c ++中做。

感谢

1 个答案:

答案 0 :(得分:10)

  • llvm-link是一个用于将LLVM IR文件链接(〜合并)到另一个LLVM IR文件的工具。
  • llvm-ld尝试与ld兼容。请注意,LLVM目前没有真正的链接功能,因此llvm-ld会调用gcc来执行实际的最后阶段。

请注意,如果您只想拥有GCC的功能,请使用clang驱动程序:

clang -c file.c -fpic
clang -shared file.o -o file.so

您也可以像-Wl那样将clang标记传递给gcc

clang -shared file.o -Wl,-soname,libfile.so.8 -o file.so