error LNK2038: 检测到“RuntimeLibrary”的不匹…

2018-06-17 20:50:59来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

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

  1.1 /MDd:MD_DynamicDebug,我理解是 “共享DLL中使用MFC” 时的 Debug

  1.2 /MD:MD_DynamicRelease,我理解是 “共享DLL中使用MFC” 时的 Release

  1.3 /MT:MD_StaticRelease,我理解是 “在静态库中使用MFC” 时的 Debug
  1.4 /MTd:MD_StaticDebug,我理解是 “在静态库中使用MFC” 时的 Release

 

属性2. 在工程上右键->属性->配置属性-->常规-->MFC的使用

  2.1 其中两个选项如下:

  2.2 在共享DLL中使用MFC

  2.3 在静态库中使用MFC

属性3. 我们有两种编译模式,一种是Release,一种是Debug。

 

问题来了:

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

翻译:这句的意思是                         检测到     “运行库”        的不匹配项:值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug

人话:…………………………                              属性1………………………        属性1.4…………………………属性1.1

解决:能够看出来是Debug时的 属性1 和 属性2 不匹配,那要么将 属性1设置为 /MDd,要么将 属性2 设置为 在静态库中使用MFC。

   反正编译模式(属性3)、MFC的使用(属性2)、运行库(属性3)要三位一体对应起来。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:26.C++- 泛型编程之类模板(详解)

下一篇:【QT杂谈】无法填充父窗口的splitter