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

我们在使用Visual Studio编程的时候偶尔会遇到这个报错:error LNK2038: 检测到“RuntimeLibrary”的不匹配项:  值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug”,

这个问题一般都是出现在Debug与Release切换的时候。网上给出的很多解决方案都是去属性页里面更改运行库,一般来说改成对应的库就能解决问题了。

 

这四个选项对应的含义如下:

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

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

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

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

但是有时候你会发现并不是这么简单,明明自己用的是Release模式,为什么选/MD还是会报错呢?

这个原因在于你在工程属性->链接器->输入->附加依赖项中添加的.lib有问题。一般.lib文件会有后缀带d和不带d的两种,带d的对应的是Debug模式,不带d的对应的是Release模式。把这个改过来说不定就能解决你的问题了。

你可能感兴趣的:(visual,studio)