我一直在尝试切换到LLVM,因为我想更多地进入整个‘软件开发’的场景,现在看来,LLVM就是未来。现在,我已经多次从源代码构建了LLVM/Clang/LLD/compiler-rt/libcxx,都是使用GNU/GCC和LLVM/Clang。
当我尝试使用新编译的编译器时,问题出现了。在我看来,clang使用的是GNU ld而不是LLVM的lld。这是真的吗?
从lld -help输出来看,LLD似乎是一个非常有限的程序,但据我所知,它和ld一样功能齐全。我在任何地方都找不到关于如何使用它的文档--有人知道我在哪里可以找到关于它的某种全面的手册吗?
谢谢。
发布于 2018-08-27 19:26:26
将-fuse-ld=lld传递给clang,使其使用lld进行链接。到目前为止,它的状态非常好。
您可以将-v或-###传递给clang,让它打印它运行或将要运行的链接器命令。
发布于 2015-07-08 01:58:04
目前还没有手册,根据平台的不同,可能对你来说已经足够好了。也就是说,如果lld是“生产就绪的”,我们就会在各种平台上默认使用clang。它还没有出现,所以我不建议你在日常开发中使用它。
发布于 2017-07-13 00:59:00
LLVM团队表示已经为生产做好了准备,因为FreeBSD可以编译a lot of things并将其与LLD链接起来。
关于LLD项目的文档可以在http://lld.llvm.org/上找到。
它是这样写的:
GNU是
链接器的临时替代品。
它接受与GNU相同的命令行参数和链接器脚本。
因此,您可以使用与GNU LD相同的参数。
https://stackoverflow.com/questions/31252585
复制相似问题