我想lld
在我们的项目中尝试 LLVM 链接器 ()。我们使用 gcc 6,因此显然该-fuse-ld=lld
标志尚不可用。我不控制默认使用的 ld 可执行文件,所以我不能用符号链接替换它。还有其他选择吗?
我们使用的构建系统是make,链接是由编译器完成的,而不是直接调用ld。
一种简单的解决方法是修改PATH
环境变量以指向自定义ld
可执行文件(请参见此处的示例)。
鉴于ld
您想要的可执行文件的路径是/path/to/custom/ld
,传递-B/path/to/custom/
给编译器驱动程序 ( gcc
) 应该可以做到。从 GCC 手册:
-Bprefix
此选项指定在哪里可以找到编译器本身的可执行文件、库、包含文件和数据文件。编译器驱动程序运行一个或多个子程序 cpp、cc1、as 和ld。它尝试将前缀作为它尝试运行的每个程序的前缀,无论是否有机器/版本/对应的目标机器和编译器版本。对于每个要运行的子程序,编译器驱动程序首先尝试 -B 前缀(如果有)。