CMAKE_LINKER_TYPE¶
在 3.29 版本中添加。
指定链接步骤将使用的链接器。
此变量用于初始化通过调用 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 链接器。此类型仅在 Apple 平台上使用
Clang
和AppleClang
编译器时受支持。APPLE_CLASSIC
以经典行为(即在
Xcode 15.0
之前)使用 Apple 链接器。此类型仅在 Apple 平台上使用GNU
,Clang
,AppleClang
, 和Swift
编译器时受支持。MSVC
使用 Microsoft 链接器。此类型仅在 Windows 平台上使用
MSVC
,Clang
与 MSVC 类似的前端, 和Swift
编译器时受支持。