error LNK2038: 检测到“RuntimeLibrary”的不匹配项的解决办法

首先贴一段错误信息如下:

1>IlmImfd.lib(ImfTiledRgbaFile.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(IexBaseExc.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfHeader.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfFrameBuffer.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(half.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfTiledOutputFile.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfTiledInputFile.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfChannelList.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfIO.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfChromaticities.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfStandardAttributes.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)
1>IlmImfd.lib(ImfRgbaYca.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug”(COLOR2Gray.obj 中)



以上是我在VS2013调试程序是遇到的问题,其实就是所选工程的运行库不匹配导致的


在工程上右键-》属性-》c/c++-》代码生成-》运行库

有四个选项及含义分别如下:

多线程调试Dll (/MDd) 对应的是MD_DynamicDebug

多线程Dll (/MD) 对应的是MD_DynamicRelease

多线程(/MT) 对应的是MD_StaticRelease

多线程(/MTd)对应的是MD_StaticDebug


 error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug

从上面的错误提示可知,我们原来选择的是    多线程调试Dll (/MDd) 选项 ,把它改为    多线程(/MTd)   即可 

重新调试之后错误就消失了



你可能感兴趣的:(C++)