I got this error at the linking stage of compiling a Visual C++ project:
Error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in main.obj
This project was being linked with other libraries and the error referred to the
_ITERATOR_DEBUG_LEVEL was defined with different values in my application and the external library.
The difference in the
_ITERATOR_DEBUG_LEVEL typically happens if a Release version of a library is linked against a Debug version of another library or application. Make the two have the same build type and this error should go away.
If you cannot do that, then set the
_ITERATOR_DEBUG_LEVEL in your project to match the value used in the other library.
Tried with: Visual Studio 2010 and Windows 7 x64