CMAKE_LINKER_TYPE¶
在版本 3.29 中添加。
指定将用于链接步骤的链接器。
此变量用于初始化通过调用 add_library()
或 add_executable()
创建的每个目标上的 LINKER_TYPE
属性。仅当目标具有链接步骤时才有意义。如果已设置,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
、具有类 MSVC 前端的Clang
、具有类 GNU 前端的Clang
、MSVC
、具有类 MSVC 前端的NVIDIA
和Swift
。
BFD
使用
GNU
链接器。此类型支持以下平台-编译器组合:Linux:
GNU
、Clang
、LLVMFlang
和NVIDIA
编译器。Windows:
GNU
、具有类 GNU 前端的Clang
。
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
使用 Apple 链接器的经典行为(即
Xcode 15.0
之前的行为)。此类型仅在 Apple 平台与GNU
、Clang
、AppleClang
和Swift
编译器组合中支持。MSVC
使用 Microsoft 链接器。此类型仅在 Windows 平台与
MSVC
、具有类 MSVC 前端的Clang
和Swift
编译器组合中支持。