Ответ 1
Нашел решение.
Страницы проекта/Свойства конфигурации/Определения C, С++/Препроцессор/Препроцессор.
Добавьте "_ITERATOR_DEBUG_LEVEL = 0" в работу.
Мы используем библиотеку другого поставщика, который, по-видимому, был скомпилирован с неправильными флагами, а именно _ITERATOR_DEBUG_LEVEL = 0 в режиме 32bit-Debug. Хотя я уже подал с ними отчет об ошибке, мне нужно промежуточное решение. Мы не используем stl самостоятельно, поэтому я могу изменить этот флаг для подпроекта, который использует указанную библиотеку. Но я не могу понять, как это сделать. То, что я пробовал, не работает:
/D_ITERATOR_DEBUG_LEVEL=0
> LINK : warning LNK4044: unrecognized option '/D_ITERATOR_DEBUG_LEVEL=0'; ignored
#define _ITERATOR_DEBUG_LEVEL 0
> Nothing happens
Какой правильный синтаксис или опция для компиляции проекта без проверочных итераторов?
Нашел решение.
Страницы проекта/Свойства конфигурации/Определения C, С++/Препроцессор/Препроцессор.
Добавьте "_ITERATOR_DEBUG_LEVEL = 0" в работу.
Также как дополнительная информация: Страницы проекта/Свойства конфигурации/Определения C, С++/Препроцессор/Препроцессор и установите макрос препроцессора _ITERATOR_DEBUG_LEVEL в одно из следующих значений в зависимости от цели:
_ITERATOR_DEBUG_LEVEL = 0 // disabled (for release builds)
_ITERATOR_DEBUG_LEVEL = 1 // enabled (if _SECURE_SCL is defined)
_ITERATOR_DEBUG_LEVEL = 2 // enabled (for debug builds)