CMAKE_LINKER_TYPE¶
在 3.29 版本中添加。
指定用于链接步骤的链接器。
该变量用于在 LINKER_TYPE
实现初始化 LINKER_TYPE
属性,通过调用 add_library()
或者 add_executable()
而创建每个目标。它对具有链接步骤的目标才有意义。如果设置,其值还将被 try_compile()
命令使用。
注意
假设指定的链接器与编译器通常会调用的默认链接器完全兼容。CMake 不会执行任何选项转换。
链接器类型区分大小写,而且只能包含字母、数字和下划线。全部大写定义的链接器类型保留用于 CMake 自己的内置类型。预定义的链接器类型为
DEFAULT
此类型对应标准链接,基本相当于完全没有设置
LINKER_TYPE
目标属性。SYSTEM
使用平台或工具链提供的标准链接器。例如,这暗示所有 MSVC 兼容编译器的 Microsoft 链接器。此类型支持以下平台编译器组合
Linux:
GNU
、Clang
、LLVMFlang
、NVIDIA
和Swift
编译器。Apple 平台:
AppleClang
、Clang
、GNU
和Swift
编译器。Windows:
MSVC
、GNU
、Clang
、NVIDIA
和Swift
编译器。
LLD
使用
LLVM
链接器。此类型支持以下平台编译器组合Linux:
GNU
、Clang
、LLVMFlang
、NVIDIA
和Swift
编译器。Apple 平台:
Clang
、AppleClang
和Swift
编译器。Windows:
GNU
、Clang
(带有 MSVC 类似前端)、Clang
(带有 GNU 类似前端)、MSVC
、NVIDIA
(带有 MSVC 类似前端)以及Swift
。
BFD
使用
GNU
链接器。此类型受支持的平台编译器组合如下Linux:
GNU
、Clang
、LLVMFlang
和NVIDIA
编译器Windows:
GNU
、Clang
,带有类 GNU 的前端
GOLD
在 Linux 平台中受支持,带有
GNU
、Clang
、LLVMFlang
、NVIDIA
和Swift
编译器MOLD
使用 mold 链接器。此类型受支持的平台编译器组合如下
Linux:
GNU
、Clang
、LLVMFlang
和NVIDIA
编译器Apple 平台:
Clang
和AppleClang
编译器(作为 sold 链接器 的别名)。
SOLD
使用 sold 链接器。此类型仅受支持在装有
Clang
和AppleClang
编译器的 Apple 平台上使用。APPLE_CLASSIC
以经典行为(即在
Xcode 15.0
之前)使用 Apple 链接器。此类型仅受支持在装有GNU
、Clang
、AppleClang
和Swift
编译器的 Apple 平台上使用。MSVC
使用 Microsoft 链接器。此类型仅受支持在装有
MSVC
、Clang
(带有类 MSVC 的前端)和Swift
编译器的 Windows 平台上使用。