【问题标题】:Linker error 2005, 2001 in Visual Studio 2008Visual Studio 2008 中的链接器错误 2005、2001
【发布时间】:2010-11-05 02:02:34
【问题描述】:

我有一个在 VC6 中编译良好的 ATL COM 项目,在 VS2008 中编译时出现以下链接器错误。

错误 LNK2005:“void * __cdecl 运算符新(无符号整数)” (??2@YAPAXI@Z) 已经定义在 libcmt.lib(new.obj) 文件:uafxcw.lib

deletenew[]delete[] 还有另外三个类似的错误。

我在网上查了几篇文章,其中大多数都说它是 CRT 和 MFC dll 之间的冲突。 (它们被拾取的顺序)。一篇文章建议将冲突的库添加到项目设置中的忽略库列表中。

这样做,我只剩下一个错误:

错误 LNK2001:未解决的外部 符号 __afxForceEXCLUDE 文件:LMAN.Lib

错误指向本项目引用的一个库(我们开发的一个库)。

关于如何解决这个问题的任何想法?我相信这对于迁移到 VS 2008 的人来说是一个常见问题。

【问题讨论】:

    标签: visual-studio visual-studio-2008 linker-errors porting visual-c++-6


    【解决方案1】:

    解决了。

    不需要排除 uafxcw.lib。只需确保未使用 MFC dll。 我们的 lib LMAN.lib 使用的是 Afxdisp.h(一个 MFC dll),这不是必需的。我从该项目中删除了包含,然后瞧! - 构建成功。

    【讨论】:

      猜你喜欢
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多