LLVM提供了2个工具llvm-link和llvm-ld。我想知道:
如何合并所有.o文件?
如何使用gcc -Wl,-soname,libsomething.so.1设置soname?
我想在c ++中这样做但是如果向我展示如何从命令行我将找到如何在c ++中做。
感谢
答案 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