如何使用clang和llvm-link链接库

时间:2012-12-10 13:56:57

标签: c++ c makefile llvm

我正在编译我的程序,

clang++ -O4 -emit-llvm file1.cpp -c -o file1.bc -pthread 
clang++ -O4 -emit-llvm file2.cpp -c -o file2.bc -pthread

llvm-link file1.bc file2.bc -o main.ll -S 

如何指定与 -ldl

的关联

1 个答案:

答案 0 :(得分:3)

llvm-link是一个程序,它将LLVM IR文件“链接”在一起成为一个IR文件;你可以阅读更多相关信息here。它与ld或将目标文件链接在一起没有任何关系。

如果您确实想要生成目标代码和/或可执行文件,请参阅以下相关问题:

简而言之,您应该使用本机工具来组装和链接(例如asld),尽管目前有一些实验性支持用于生成目标文件和在LLVM中进行链接。

在任何情况下,Clang本身都可以调用平台链接器 - 这实际上是默认链接器,但当然通过提供-c来覆盖它。