为什么窗口上的clang / llvm需要Visual Studio的Link.exe?

根据LLVM的入门(Windows)网站 :

…铿锵可以用来发射位码,直接发射目标文件,甚至使用Visual Studio的link.exe链接的可执行文件。

为什么在Windows上使用Link.exe是必要的? 而且,对于这个问题,在Mac / Linux上使用什么? 再往下说:

 Compile the program to object code using the LLC code generator: C:\..> llc -filetype=obj hello.bc Link to binary using Microsoft link: C:\..> link hello.obj -defaultlib:libcmt 

为什么LLC不能执行最后一步? LLI似乎工作正常,所以我认为它可以互操作与link.exe引擎盖下 – 为什么不能LLC?

因为没有人写过LLVM的链接器。

有一个项目这样做(称为,unimaginatively lld ),但还没有准备好。

有关更多详细信息,请参阅http://lld.llvm.org

在Mac上,人们使用苹果的链接器ld

在Linux上,大多数人使用gnu链接器,通常(也)名为ld

试试MinGW-W64的ld。 我一直在使用它与llvm的叮当声,而不是我用来建立铿锵声的VS工具。