在编写小程序时,突然遇到这样的一个错误:error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”;
如图:
找到网上的各种解决方法,都没有解决,最后只能重新新开了一个项目,然后重新配置的opencv,小白表示汗颜啊,不过还是将期间找到的资料记录下来。
错误原因:Debug使用了Release的库文件。如release下使用了Debug的库文件,也会报类似的错误。
可惜作者是小白,仔细看了自己项目的库文件,都没有发现问题所在,只能最后是重新开了另一个项目
在找寻的时候发现有人提出解决方法:Project Pages / Configuration Properties / C,C++ / Preprocessor / Preprocessor Definitions.
Add "_ITERATOR_DEBUG_LEVEL=0" in there worked.
不过作者用这种方法并没有成功,可能是还是不对。
另外,附上stackoverflow网站上关于这个错误的讨论,期间讲解的很详细,包含解决方法,错误原因等,大家可以详细看看,看完受益匪浅。
链接如下:stackoverflow关于错误讨论