Подтвердить что ты не робот

Как установить _ITERATOR_DEBUG_LEVEL в VS2010?

Мы используем библиотеку другого поставщика, который, по-видимому, был скомпилирован с неправильными флагами, а именно _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

Какой правильный синтаксис или опция для компиляции проекта без проверочных итераторов?

4b9b3361

Ответ 1

Нашел решение.

Страницы проекта/Свойства конфигурации/Определения C, С++/Препроцессор/Препроцессор.

Добавьте "_ITERATOR_DEBUG_LEVEL = 0" в работу.

Ответ 2

Также как дополнительная информация: Страницы проекта/Свойства конфигурации/Определения 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)