【发布时间】:2016-09-29 12:52:32
【问题描述】:
我试图将一个库(我们称之为LibB)链接到一个已经链接另一个库(LibA)的程序(TheProgram)。
调试配置构建良好,但在发布模式下出现此错误:
错误 LNK2038:检测到“RuntimeLibrary”不匹配:值“MT_StaticRelease”与 TheProgram.obj 中的值“MTd_StaticDebug”不匹配
我认为这很容易解决,因为我只需要确保每个链接对象都是使用 /MT 构建的。我做到了,他们都是。我还检查了在此配置中是否有任何具有不同运行时标志的每个文件设置 - 没有。还检查了构建中的最终命令行 - 它到处都是 /MT。
更有趣的是,如果我链接LibB 的调试版本(在构建发布配置时),这个错误就会消失,但我会得到其他错误。
尽管到处都有匹配的标志,但什么可能导致不匹配?
【问题讨论】:
标签: c++ visual-studio msvcrt