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

Eph*_*era 8 windows linker llvm clang llc

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

... Clang可用于发出bitcode,使用Visual Studio的link.exe直接发出目标文件甚至链接的可执行文件.

为什么Link.exe在Windows上使用必要?而且,就此而言,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
Run Code Online (Sandbox Code Playgroud)

为什么LLC不能执行最后一步?LLI似乎工作得很好所以我认为它在link.exe某种程度上可以在引擎盖下互操作- 为什么不能LLC?

Mar*_*low 11

因为没有人为LLVM编写过链接器.

有一个项目要做(被称为,缺乏想象力lld),但还没有准备好.

有关详细信息,请访问http://lld.llvm.org.

在Mac上,人们使用Apple的链接器ld.

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


Cha*_*pul 5

试试MinGW-W64的ld.我一直在使用它与llvm的clang而不是我用来构建clang的VS工具.