CMAKE_LINKER_TYPE

在版本 3.29 中新增。

指定連結步驟將使用的連結器。

此變數用於初始化透過呼叫 add_library()add_executable() 建立的每個目標上的 LINKER_TYPE 屬性。 它僅對具有連結步驟的目標有意義。 如果設定,則其值也會被 try_compile() 命令使用。

注意

假設指定的連結器與編譯器通常會調用的預設連結器完全相容。 CMake 不會進行任何選項翻譯。

連結器類型區分大小寫,且只能包含字母、數字和底線。 以全部大寫字母定義的連結器類型保留給 CMake 自己的內建類型。 預先定義的連結器類型為

DEFAULT

此類型對應於標準連結,基本上等同於完全未設定 LINKER_TYPE 目標屬性。

SYSTEM

使用平台或工具鏈提供的標準連結器。 例如,這表示適用於所有 MSVC 相容編譯器的 Microsoft 連結器。 以下平台-編譯器組合支援此類型

  • Linux: GNUClangLLVMFlangNVIDIASwift 編譯器。

  • Apple 平台:AppleClangClangGNUSwift 編譯器。

  • Windows: MSVCGNUClangNVIDIASwift 編譯器。

LLD

使用 LLVM 連結器。 以下平台-編譯器組合支援此類型

  • Linux: GNUClangLLVMFlangNVIDIASwift 編譯器。

  • Apple 平台:ClangAppleClangSwift 編譯器。

  • Windows: GNU、具有類似 MSVC 前端的 Clang、具有類似 GNU 前端的 ClangMSVC、具有類似 MSVC 前端的 NVIDIASwift

BFD

使用 GNU 連結器。 以下平台-編譯器組合支援此類型

  • Linux: GNUClangLLVMFlangNVIDIA 編譯器。

  • Windows: GNU、具有類似 GNU 前端的 Clang

GOLD

在 Linux 平台上,GNUClangLLVMFlangNVIDIASwift 編譯器支援此類型。

MOLD

使用 mold 連結器。 以下平台-編譯器組合支援此類型

  • Linux: GNUClangLLVMFlangNVIDIA 編譯器。

  • Apple 平台:ClangAppleClang 編譯器(作為 sold 連結器 的別名)。

SOLD

使用 sold 連結器。 只有 Apple 平台上使用 ClangAppleClang 編譯器時才支援此類型。

APPLE_CLASSIC

以傳統行為使用 Apple 連結器(即在 Xcode 15.0 之前)。 只有 Apple 平台上使用 GNUClangAppleClangSwift 編譯器時才支援此類型。

MSVC

使用 Microsoft 連結器。 只有 Windows 平台上使用 MSVC、具有類似 MSVC 前端的 ClangSwift 編譯器時才支援此類型。