Как установить _ITERATOR_DEBUG_LEVEL в VS2010? - PullRequest
16 голосов
/ 20 апреля 2011

Мы используем библиотеку другого поставщика, которая, очевидно, была скомпилирована с неправильными флагами, а именно _ITERATOR_DEBUG_LEVEL = 0 в 32-битном режиме отладки.Хотя я уже подал отчет об ошибке, мне нужно промежуточное решение.Мы сами не используем stl, поэтому я могу изменить этот флаг для подпроекта, который использует указанную библиотеку.Но я не могу понять, как это сделать.То, что я попробовал, не сработало:

/D_ITERATOR_DEBUG_LEVEL=0
> LINK : warning LNK4044: unrecognized option '/D_ITERATOR_DEBUG_LEVEL=0'; ignored 

#define _ITERATOR_DEBUG_LEVEL 0
> Nothing happens

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

Ответы [ 2 ]

29 голосов
/ 20 апреля 2011

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

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

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

4 голосов
/ 07 января 2016

Так же, как дополнительная информация: Страницы проекта / Свойства конфигурации / C, 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...