微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误 LNK2005 DllMain 已在 uafxcw.lib(dllmodul.obj) 中定义

如何解决错误 LNK2005 DllMain 已在 uafxcw.lib(dllmodul.obj) 中定义

我有 dll 项目。我在我的解决方案中添加了其他相当大的项目,我想将其用作我的 dll 中的库。但是当我开始使用我的 dll 项目中的新项目时,我有几个链接错误,就像这个问题 error LNK2005: new and delete already defined in LIBCMTD.lib(new.obj)

我已经放入了“附加依赖项”和“忽略特定库”uafxcwd.lib;Libcmtd.lib,现在关于新建、删除等的错误已经消失,但我仍然收到关于 DllMain 的错误

我也试过了

extern "C" { int __afxForceUSRDLL; }

使用 DllMain 连接到 cpp 并出现其他错误

Error   LNK2005 __afxForceUSRDLL already defined in dllmain.obj 

我完全不知所措

解决方法

根据文档:Linker Tools Error LNK2005

如果两个对象定义了相同的符号,你就会得到这个链接器错误。我建议您可以尝试找出您实际需要的两个库中的哪一个,然后告诉链接器不要使用另一个。

我建议你应该检查链接器的顺序。首先需要链接 MFC 库,然后才能链接 CRT 库。

有关更多详细信息,我建议您可以参考以下链接:error LNK2005: _DllMain@12 already defined in MSVCRT.lib

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。