我们正在使用另一家供应商的库,该库显然是用错误的标志编译的,即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
让项目在没有检查迭代器的情况下编译的正确语法或选项是什么?
发布于 2011-04-20 21:10:10
找到了解决方案。
项目页/配置属性/ C、C++ /预处理器/预处理器定义。
在工作过的地方加上"_ITERATOR_DEBUG_LEVEL=0“。
发布于 2016-01-08 00:17:27
仅作为附加信息:项目页/配置属性/ 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)
https://stackoverflow.com/questions/5727815
复制相似问题