2012-12-10 221 views
-1

我编译我的程序这样的链接,如何库铿锵和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

+0

您是否尝试过'clang ++ -o main.ll file1.bc file2.vs -ldl'? – ismail

+0

没有,这不工作,它说未知的命令行 – pythonic

+0

file2.vs是在我身边的错字,但我想你修复它。您应该发布整个错误日志,因为铿能够链接。 – ismail

回答

2

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

如果你想生成目标代码和/或可执行文件,看到这些相关的问题:

总之,你应该使用本地工具组装和链接(例如,asld),尽管目前有一些实验性的支持来生成目标文件和LLVM中的链接。

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