cmake findboost, как установить -g тег ABI?

У меня проблемы с поиском библиотеки boost-log с помощью модуля findboost cmake.

вместо libboost_log-vc120-mt-sgd-1_57 (который присутствует в моей директиве boost lib)
cmake ищет: libboost_log-vc120-mt-sd-1_57, которого нет.

я попытался включить Boost_USE_DEBUG_RUNTIME при вызове cmake (параметр командной строки), а также в моем файле cmakelists.txt, но он не влияет на тег ABI имен библиотек, которые ищет cmake.

версия cmake, которую я использую — 3.1.0

в документация они пишут:

Boost_USE_DEBUG_RUNTIME — установите значение ON или OFF, чтобы указать, следует ли использовать
библиотеки, связанные с отладкой MS C ++
(тег ‘g’). По умолчанию включено.

поэтому он должен искать libboost_log-vc120-mt-sgd-1_57 по умолчанию, также в этой ошибке доклад, они ввели флаг Boost_USE_DEBUG_RUNTIME и подтвердили, что он должен быть включен по умолчанию, чтобы не нарушать предыдущее поведение.

0

Решение

Хорошо, я нашел ответ на свою проблему, так как оказалось, что в моем примере сначала отсутствовали 2 конфигурации,

Переменная MSVC должна быть установлена ​​в значение true (в результате тег ABI будет содержать значение g)

во-вторых,

переменная CMAKE_FIND_LIBRARY_SUFFIXES — это список, для которого необходимо установить значение lib dll

0

Другие решения


По вопросам рекламы [email protected]