Spec-Zone.ru › CMake 3.20

ENABLE_EXPORTS

Укажите, экспортирует ли исполняемый файл символы для загружаемых модулей.

Обычно исполняемый файл не экспортирует символы, поскольку он является конечной программой. Исполняемый файл может экспортировать символы для использования загружаемыми модулями. При установке этого свойства в значение true CMake позволит другим целевым объектам «связывать» исполняемый файл с помощью команды target_link_libraries(). На всех платформах для целевых объектов, которые связываются с исполняемым файлом, создаётся зависимость уровня целевого объекта от исполняемого файла. Обработка исполняемого файла в строках связывания загружаемых модулей различается в зависимости от платформы:

  • В системах на базе Windows (включая Cygwin) вместе с исполняемым файлом создаётся «библиотека импорта», содержащая список экспортированных символов. Загружаемые модули связываются с библиотекой импорта для получения символов.
  • В macOS загружаемые модули связываются с самим исполняемым файлом с помощью флага -bundle_loader.
  • В AIX вместе с исполняемым файлом создаётся «файл импорта» компоновщика, содержащий список экспортированных символов для импорта при связывании других целевых объектов. Загружаемые модули связываются с файлом импорта для получения символов.
  • На других платформах загружаемые модули связываются без ссылки на исполняемый файл, так как динамический загрузчик автоматически связывает символы при загрузке модуля.

Это свойство инициализируется значением переменной CMAKE_ENABLE_EXPORTS, если она задана при создании целевого объекта.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/prop_tgt/ENABLE_EXPORTS.html

Spec-Zone.ru

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