我有一个在 VC6 中编译良好的 ATL COM 项目,在 VS2008 中编译时会出现以下链接器错误。
错误 LNK2005:“void * __cdecl operator new(unsigned int)”(??2@YAPAXI@Z) 已在 libcmt.lib(new.obj) 文件中定义:uafxcw.lib
对于和delete
,还有另外三个类似的错误。new[]
delete[]
我在网上查了几篇文章,其中大多数都说它是 CRT 和 MFC dll 之间的冲突。(它们被拾取的顺序)。一篇文章建议将冲突的库添加到项目设置中的忽略库列表中。
这样做,我只剩下一个错误:
错误 LNK2001:无法解析的外部符号 __afxForceEXCLUDE 文件:LMAN.Lib
错误指向该项目引用的库(我们开发的库)。
有想法该怎么解决这个吗?我相信这对于迁移到 VS 2008 的人来说是一个常见的问题。