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
編譯器時才支援此類型。