CMAKE_LINKER_TYPE

新增於 3.29 版本。

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

此變數用於初始化呼叫 LINKER_TYPE 屬性於每個透過 add_library()add_executable() 建立的目標。它僅對具有連結步驟的目標有意義。如果設定,它的值也會被 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 編譯器時支援。