系列文章目录

文章目录

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug”(main.obj 中) SceneTest E:\osg\work\ThermalCharacteristics_20220628\SceneTest\SceneTempCal.lib(MeshAnalyzer.obj) 1
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDe_MDd_DynamicDe

一、错误原因

VS2019 开发,之前一直用的debug模式,代码编译正常

最近改为Release模式,一编译就出现这个错误:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1257 代码生成失败 SceneTest E:\osg\work\ThermalCharacteristics_20220628\SceneTest\LINK 1

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDe

网上搜了一下,说是:

“我这几天也遇到了这个问题,用别人提供的lib,在vs2019下 debug模式可以运行,但release模式下就不行,出现了和你一样的错误。开始我还以为是lib不兼容,最后发现这个lib在LTCG下不能被解析,做如下改正即可:
1
Release模式下->配置属性->高级->全程序优化->使用链接时间代码生成 将这里的默认项 “使用链接时间代码生成”改为“无全程序优化”。 接下来就可以运行了。

二、解决问题

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDe_MDd_DynamicDe_02

严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDe_代码生成_03