【发布时间】:2020-02-12 14:58:36
【问题描述】:
Here 我问我在通过“发布模式”构建 Visual C++ 代码时遇到 LNK2001 错误,即使我在“发布”和“调试”模式之间的所有配置设置都是相同的(至少我已通过“所有配置”更改)。
我可以通过更改发布模式来解决问题:配置属性 -> C/C++ -> 代码生成 -> 运行时库,从“多线程 DLL (/MD)”更改为“多线程调试 DLL (/MDd)” '。这告诉我什么?我做了什么奇怪的事情(从 Debug 中获取 Release 的运行时库)?或者这是否意味着我的“发布”配置错误?
【问题讨论】:
-
这告诉我什么? -- 你的构建不正确。首先,您无法合法地完全重新分发程序,因为您正在链接调试 DLL,并且该 DLL 是专有的(不是 Microsoft 指定的可再分发程序)。也许您正在构建的一个或多个模块依赖于调试 DLL?
-
@PaulMcKenzie 感谢您的回答!我试图找出无法在发布模式下构建的主要原因。我正在使用的外部库正在制造麻烦。可能是因为图书馆有许可证吗?但是为什么它可以与 Debug DLL 一起工作......这让我很生气,现在花了 2 个多小时。
标签: c++ visual-studio configuration visual-studio-2019 release-mode