LINKER_TYPE
Добавлена в версии 3.29.
Укажите, какой компоновщик будет использоваться для шага линковки. Значение свойства может использовать generator expressions.
Примечание
Предполагается, что указанный компоновщик полностью совместим с по умолчанию, который обычно вызывает компилятор. CMake не будет выполнять перевод параметров.
Типы компоновщиков чувствительны к регистру и могут содержать только буквы, цифры и символы подчеркивания. Типы компоновщиков, определенные в верхнем регистре, зарезервированы для собственных встроенных типов CMake. Предопределенные типы компоновщиков:
-
DEFAULT -
Этот тип соответствует стандартной линковке, по существу эквивалентен тому, что свойство целевого объекта
LINKER_TYPEвообще не задано. -
SYSTEM -
Используйте стандартный компоновщик, предоставленный платформой или инструментом сборки. Например, это подразумевает компоновщик Microsoft для всех совместимых с MSVC компиляторов. Этот тип поддерживается для следующих сочетаний платформа-компилятор:
- 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компиляторами. -
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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/prop_tgt/LINKER_TYPE.html