llvm/clang编译完成后是否还需要MinGW gcc?

5

我是llvm/clang的新手,已经成功使用MinGW构建了clang。

我有一个简单的问题 - clang作为c / c ++编译器是否仍需要MinGW gcc?

谢谢, jweiboman

1个回答

8

目前 - 很不幸,是的。clang将使用gcc来汇编/链接内容。这是必要的,例如提供适当的cmdline以添加CRT对象和库进行链接调用。

只要有人为mingw在clang中提供完整的“工具链”定义,就不再需要这样做了。只需要汇编器和链接器(binutils的一部分)。


在重写驱动程序之前,值得先着手定义工具链吗?有很多微妙的地方(比如mingw.org与mingw-w64),如果没有某种通用驱动程序输入文件,可能很难正确处理它们。 - rubenvb
@rubenvb - 我认为是的。至少结果将是知道所有东西应该如何组织。可以从小事开始,例如尝试弄清楚Mingw安装在哪里等。 - Anton Korobeynikov
真的吗?当我在 .cpp 文件上运行 clang 3.0 时,它会调用 Microsoft Visual Studio 的 link.exe 而不是 MinGW 来将 clang 生成的 .obj 文件链接成 .exe。 - Mārtiņš Možeiko
2
@Mārtiņš 这可能是因为你的clang二进制文件是使用Visual Studio构建的。Clang会记住用于构建它的工具链,并在查找标准头文件和可能的链接器时使用该信息。 - Nikola Smiljanić
1
LLVM 提供了自己的链接器 LLD,为什么 Clang 仍然使用 GNU ld 呢?谢谢。 - AuBee
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接