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


    属性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)要三位一体对应起来。

  • 相关阅读:
    对我比较有用的网站
    ubuntu各种安装
    arabaraba
    镜像源相关
    硬盘相关
    python模块
    递归和循环两种方式实现未知维度集合的笛卡尔积
    单例模式的两种实现方式
    经典String str = new String("abc")内存分配问题
    js方法的命名不能使用表单元素的名称或ID
  • 原文地址:https://www.cnblogs.com/jieliujas/p/8778389.html
Copyright © 2020-2023  润新知