将自定义链接器可执行文件指定为 g++

Specifying custom linker executable to g++

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

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

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

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

-Bprefix This option specifies where to find the executables, libraries, include files, and data files of the compiler itself. The compiler driver program runs one or more of the subprograms cpp, cc1, as and ld. It tries prefix as a prefix for each program it tries to run, both with and without machine/version/ for the corresponding target machine and compiler version. For each subprogram to be run, the compiler driver first tries the -B prefix, if any.