【问题标题】:C++ Linker Errors - error LNK2005: ... already definedC++ 链接器错误 - 错误 LNK2005: ... 已定义
【发布时间】:2022-01-13 12:16:35
【问题描述】:

我有一个项目可以在 x64 位中正确构建,但在 32 位中会抛出如下所示的错误: libeay32-s-MT.lib(err.obj) : 错误 LNK2005: _ERR_error_string 已在 libcrypto.lib(libcrypti-1_1.dll) 中定义

有一个列表,但它们看起来都相似。不确定这是否与它在 32 位中引发错误有关,或者是否与配置中的其他内容有关。有人有类似的吗?我正在使用 VS2017 和 Windows。

【问题讨论】:

    标签: c++ visual-studio debugging linker linker-errors


    【解决方案1】:

    错误消息表明问题来自库文件。请检查是否存在重复定义和库的兼容性问题。我建议你阅读这个document,它提供了一些解决方案供你参考。

    【讨论】:

    • 我想知道它是否与 VC Distributable 或 Visual Studio 更新有关。这曾经很好用,对我的队友也很有效。
    • 根据您的描述,问题排查困难。 release note可以查看新版VS的一些重大变化,可以使用这些文档排查错误原因。另外,VS的更新会影响缓存,这也可能是报错的原因。如果以上方法都不能解决你的问题,建议你去DC报告问题。
    猜你喜欢
    • 1970-01-01
    • 2010-10-11
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    相关资源
    最近更新 更多