今天在编译VS2013项目的时候,遇到如下错误:
3>libprotobuf.lib(common.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(HInfoFile.obj 中)
3>libprotobuf.lib(common.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug”(HInfoFile.obj 中)
错误原因:
Debug工程使用了Release的库文件。
同行的,如果出现 error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”。
那就是Release使用了Debug的库文件。
如果同时添加了debug和release的库文件,那么由于是按照顺序使用的,如果顺序不对,也会出现问题。