链接错误 2038
一、我碰到的
今天碰到一个懵逼的链挡错误:
error LINK2038;转到输出窗口提示:检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”
好在百度上大神多,立马找到课文:
原因:产生这个问题的原因是当前工程是Debug版本,而引用的库文件时Release版本
反过来提示:检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”,则是上述原因倒过来。
解决方法:要说吗,那说一下吧,引用相应的库,或者切换一下版本。
二、可能的另外一个原因
如果输出窗口提示:检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticDebug”不匹配值“MD_DynamicDebug”
原因:根据提示可以知道咱们的运行库是不匹配的,它需要的是运行库是静态库,而当前设置的是动态库
解决方法:在工程上右键 -> 属性 --> c/c++ --> 代码生成 --> 运行库,将其修改成“多线程(/MTd)“(具体还应该根据实际情形选择)