LNK2038 error VC++ 2013

LNK2038 error VC++ 2013

本文关键字:2013 VC++ error LNK2038      更新时间:2023-10-16

我目前正在尝试将TMX-Parser连接到我的游戏中,在进行适当的连接后,我得到以下链接器错误:

Error 1 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in base64.obj tinyxml.lib(tinyxml.obj)

Error 5 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in base64.obj tinyxml.lib(tinyxmlparser.obj)

Error 7 error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in base64.obj tinyxml.lib(tinyxmlerror.obj)

Error 4 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in base64.obj tinyxml.lib(tinyxml.obj)

Error 6 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in base64.obj tinyxml.lib(tinyxmlparser.obj)

Error 8 error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in base64.obj tinyxml.lib(tinyxmlerror.obj)

我已经做了一些搜索,不知道如何解决这些问题,如果有人能给我一些帮助,我将不胜感激。

根据错误:
MDd_DynamicDebug -> MDd 多头DLL调试
MD_DynamicDebug -> MD 多头DLL释放

你的项目和库用不同的配置编译(有些类型在调试和发布中有不同的内存布局,用于调试检查和其他技巧)。

另一个问题是宏_ITERATOR_DEBUG_LEVEL的值在一个编译中是0,而在另一个编译中是2(一个没有调试检查在调试中另一个有,可能发布是没有,调试是有检查)。这与前面的问题有关(在调试中用于检查的带有成员的类型),试图作为成员使用的类型不存在。