Spec-Zone.ru › CMake 3.29

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 компиляторы.
LLD

Используйте компоновщик LLVM. Этот тип поддерживается для следующих комбинаций платформ и компиляторов:

  • Linux: GNU, Clang, LLVMFlang, NVIDIA, и Swift компиляторы.
  • Платформы Apple: Clang, AppleClang, и Swift компиляторы.
  • Windows: GNU, Clang с фронтендом, похожим на MSVC, Clang с фронтендом, похожим на GNU, MSVC, NVIDIA с фронтендом, похожим на MSVC, и Swift.
BFD

Используйте компоновщик GNU. Этот тип поддерживается для следующих комбинаций платформ и компиляторов:

  • Linux: GNU, Clang, LLVMFlang, и NVIDIA компиляторы.
  • Windows: GNU, Clang с фронтендом, похожим на GNU.
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, Clang с фронтендом, похожим на MSVC, и Swift компиляторами.

Это свойство не поддерживается генераторами Green Hills MULTI и Visual Studio 9 2008.

Подробные сведения о реализациях выбранного компоновщика будут предоставлены переменной 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.29/prop_tgt/LINKER_TYPE.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API