1

我想lld在我们的项目中尝试 LLVM 链接器 ()。我们使用 gcc 6,因此显然该-fuse-ld=lld标志尚不可用。我不控制默认使用的 ld 可执行文件,所以我不能用符号链接替换它。还有其他选择吗?

我们使用的构建系统是make,链接是由编译器完成的,而不是直接调用ld。

4

2 回答 2

1

一种简单的解决方法是修改PATH环境变量以指向自定义ld可执行文件(请参见此处的示例)。

于 2019-04-11T10:48:16.007 回答
1

鉴于ld您想要的可执行文件的路径是/path/to/custom/ld,传递-B/path/to/custom/给编译器驱动程序 ( gcc) 应该可以做到。从 GCC 手册:

-Bprefix 此选项指定在哪里可以找到编译器本身的可执行文件、库、包含文件和数据文件。编译器驱动程序运行一个或多个子程序 cpp、cc1、as 和ld。它尝试将前缀作为它尝试运行的每个程序的前缀,无论是否有机器/版本/对应的目标机器和编译器版本。对于每个要运行的子程序,编译器驱动程序首先尝试 -B 前缀(如果有)。

于 2019-04-11T12:36:08.243 回答