Visual C ++:发布模式的运行时库为“多线程调试DLL”

时间:2020-02-12 14:58:36

标签: c++ visual-studio configuration visual-studio-2019 release-mode

Here我要求通过“发布模式”构建Visual C ++代码时遇到LNK2001错误,即使我在“发布”模式和“调试”模式之间的所有配置设置都相同(至少我更改的内容已通过“所有配置”进行了更改。)

我可以通过更改发布模式来解决该问题:配置属性-> C / C ++->代码生成->运行时库从“多线程DLL(/ MD)”更改为“多线程调试DLL(/ MDd)” '。这告诉我什么?我所做的事情有些奇怪吗(从Debug获取Release的运行时库)?还是暗示我的“发布”配置错误?

1 个答案:

答案 0 :(得分:1)

我建议您可以参考Linker Tools Error LNK2001

如果在构建调试时链接到发布模式库 应用程序的版本。同样,如果使用选项/ MTd或/ MDd 或定义_DEBUG,然后链接到发布库,您应该 期望许多潜在的尚未解决的外部因素以及其他问题。 将发布模式构建与调试库链接也会导致 类似的问题。要解决此问题,请确保使用调试 调试版本中的库,零售中的零售库 构建。

就我而言,您正在以发布模式链接Debug DLL。您应该确保在调试版本中使用调试库,在零售版本中使用零售库。