2012-11-23 45 views
2

如何使用Llvm/Clang提供的工具(版本3.3(trunk 168461))生成可執行的工作文件?如何將對象鏈接到LLVM> = 3.1的庫? (no GNU ld)

我編譯了一個對象clang++ -c [...],我想嘗試鏈接這個對象到1個特定的庫,看看這是否可以生成一個工作的可執行文件。

我已經注意到了,從3.1版本llvm-ld它已經被刪除,llvm-link看起來並不像它繼承從llvm-ld所有的選項,儘管它標記爲替代LLVM-LD的官方文檔,所以我只是不要理解我應該如何鏈接這個對象。

我不想使用GNU/GCC套件中的ld,只有來自llvm的工具。

總結這是我從LLVM構建了從SVN

bugpoint  clang-check llvm-bcanalyzer llvm-extract llvm-objdump llvm-stress  scan-build 
c++-analyzer clang-tblgen llvm-config  llvm-link  llvm-prof  llvm-symbolizer scan-view 
ccc-analyzer llc   llvm-cov   llvm-lit  llvm-ranlib llvm-tblgen  scanview.css 
clang   lli   llvm-diff  llvm-mc  llvm-readobj macho-dump  ScanView.py 
clang++  llvm-ar  llvm-dis   llvm-mcmarkup llvm-rtdyld opt    sorttable.js 
clang-3.3  llvm-as  llvm-dwarfdump llvm-nm  llvm-size  Reporter.py  startfile.py 

感謝工具。

+0

我真的需要就如何避免使用GNU LD和僅使用LLVM工具的解釋。 .. – user1802174

回答

5

目前還沒有llvm鏈接器(尚)。而且,不,LLV-LINK不能代替LLVM LD。所以,你現在需要從binutils中使用ar/ranlib/ld。