You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

有可传递给CMake的环境变量让Clang使用lld而非ld吗?

问题解答

存在可直接使用的环境变量,不需要修改CMakeLists配置即可实现需求,具体方案如下:

方案1:使用通用链接参数环境变量LDFLAGS

这是兼容性最好的方案,LDFLAGS是CMake原生支持的全局链接参数传递环境变量,可直接和CC、CXX变量搭配使用,最终效果和手动添加-fuse-ld=lld编译参数完全一致。
调用示例:

CC=clang CXX=clang++ LDFLAGS="-fuse-ld=lld" cmake 你的源码路径

方案2:使用CMake专用链接参数环境变量

如果需要对可执行文件、动态库等不同目标类型区分设置链接参数,可以使用CMake对应的专用环境变量:

CC=clang CXX=clang++ \
CMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \
CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld" \
cmake 你的源码路径

注意事项

  • 使用前请确认lld链接器已经添加到系统PATH环境变量中,也可以指定完整路径避免找不到,比如写为-fuse-ld=/usr/local/bin/lld
  • 如果之前已经生成过CMake构建缓存,请先删除build目录下的所有缓存文件再重新运行命令,避免旧配置覆盖新参数

内容的提问来源于stack exchange,提问作者Edward

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 11:54:04