【错误总结之(一)】error LNK2038: 检測到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”

1>cvblob.lib(cvblob.obj) : error LNK2038: 检測到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(the_first.obj 中)
1>cvblob.lib(cvtrack.obj) : error LNK2038: 检測到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(the_first.obj 中)
1>cvblob.lib(cvlabel.obj) : error LNK2038: 检測到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(the_first.obj 中)
1>LINK : warning LNK4098: 默认库“MSVCRT”与其它库的使用冲突;请使用 /NODEFAULTLIB:library


错误原因是:Debug使用了Release的库文件。
注意:即使你连接库里面两个都加入着呢,可是release库文件放在了debug前面,也是出错的。默认按顺序使用库文件。

类似错误:如release下使用了Debug的库文件,报错类似:
error LNK2038: 检測到“_ITERATOR_DEBUG_LEVEL”的不匹配项:值“2”不匹配值“0”.

扩展:

库文件里文件名称后面有加d的是debug库文件,没有加d的是release库文件(相对而言)

【例】roblobd.lib(debug)、roblod.lib(release)

原文地址:https://www.cnblogs.com/mfrbuaa/p/3808837.html