本文主要是介绍error LNK2038: '_ITERATOR_DEBUG_LEVEL'不匹配的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
'_ITERATOR_DEBUG_LEVEL'不匹配的原因分析:
在VS2010的C++头文件(包括STL)里,都会包含yvals.h这个文件,而这个文件会定义:
#pragma detect_mismatch("_ITERATOR_DEBUG_LEVEL", "xxxxxx")
其中,xxxxxx中的内容,会因为编译方式不同而不同。因此,链接两个使用不同编译方式的东西的时候就会报Error Link 2038。
'_ITERATOR_DEBUG_LEVEL'不匹配的解决办法:
解决办法一: 确保程序的每个模块都使用相同的编译方式;
解决办法二: 屏蔽匹配检测宏_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH,即在所应用的文件前加入宏定义:
#define _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH
这篇关于error LNK2038: '_ITERATOR_DEBUG_LEVEL'不匹配的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!