LINKER_TYPE
Добавлено в версии 3.29.
Указывает, какой компоновщик будет использоваться на этапе компоновки. Значение свойства может использовать generator expressions.
Примечание
Предполагается, что указанный компоновщик полностью совместим с компоновщиком по умолчанию, который обычно вызывает компилятор. 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.
- Linux: компиляторы
-
LLD -
Использовать компоновщик
LLVM. Этот тип поддерживается для следующих сочетаний платформ и компиляторов:- Linux: компиляторы
GNU,Clang,LLVMFlang,NVIDIAиSwift. - Платформы Apple: компиляторы
Clang,AppleClangиSwift. - Windows:
GNU,Clangс MSVC-подобным фронтендом,Clangс GNU-подобным фронтендом,MSVC,NVIDIAс MSVC-подобным фронтендом иSwift.
- Linux: компиляторы
-
BFD -
Использовать компоновщик
GNU. Этот тип поддерживается для следующих сочетаний платформ и компиляторов:- Linux: компиляторы
GNU,Clang,LLVMFlangиNVIDIA. - Windows:
GNU,Clangс GNU-подобным фронтендом.
- Linux: компиляторы
-
GOLD -
Поддерживается на платформе Linux с компиляторами
GNU,Clang,LLVMFlang,NVIDIAиSwift. -
MOLD -
Использовать компоновщик mold. Этот тип поддерживается для следующих сочетаний платформ и компиляторов:
- Linux: компиляторы
GNU,Clang,LLVMFlangиNVIDIA. - Платформы Apple: компиляторы
ClangиAppleClang(работает как псевдоним компоновщика sold).
- Linux: компиляторы
-
SOLD -
Использовать компоновщик sold. Этот тип поддерживается только на платформах Apple с компиляторами
ClangиAppleClang. -
WILD -
Добавлено в версии 4.4.
Использовать компоновщик wild. Этот тип поддерживается только на платформах Linux с компиляторами
ClangиGNU. -
APPLE_CLASSIC -
Использовать компоновщик Apple в классическом режиме (то есть до
Xcode 15.0). Этот тип поддерживается только на платформах Apple с компиляторамиGNU,Clang,AppleClangиSwift. -
MSVC -
Использовать компоновщик Microsoft. Этот тип поддерживается только на платформе Windows с компиляторами
MSVC,Clangс MSVC-подобным фронтендом иSwift.
Это свойство не поддерживается генератором Green Hills MULTI.
Детали реализации для выбранного компоновщика задаются переменной CMAKE_<LANG>_USING_LINKER_<TYPE>. Например:
add_library(lib1 SHARED ...) set_property(TARGET lib1 PROPERTY LINKER_TYPE LLD)
Это указывает, что lib1 должен использовать тип компоновщика LLD на этапе компоновки. Параметры командной строки, передаваемые инструментальной цепочке, задаются переменной CMAKE_<LANG>_USING_LINKER_LLD.
Обратите внимание, что обычно компоновщик задаётся для всей сборки с помощью CMAKE_LINKER_TYPE, а не путём установки свойства LINKER_TYPE для отдельных целей.
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/LINKER_TYPE.html