如何在VS2010中设置_ITERATOR_DEBUG_LEVEL?

时间:2011-04-20 08:56:33

标签: visual-studio-2010 debugging linker iterator

我们正在使用另一家供应商的库,这显然是使用错误的标志编译的,即32位调试模式下的_ITERATOR_DEBUG_LEVEL = 0。虽然我已经向他们提交了错误报告,但我需要一个中间解决方案。我们自己不使用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 个答案:

答案 0 :(得分:29)

找到解决方案。

项目页面/配置属性/ C,C ++ /预处理器/预处理器定义。

在那里添加“_ITERATOR_DEBUG_LEVEL = 0”。

答案 1 :(得分:4)

正如附加信息: 项目页面/配置属性/ 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)