2012-12-10 85 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來覆蓋它。