2009-06-23 81 views
0

我有一个编译在VC6在VS2008编译时给出了以下链接错误罚款ATL COM项目。连接错误2005年,2001年在Visual Studio 2008

error LNK2005: "void * __cdecl operator new(unsigned int)" ([email protected]@Z) already defined in libcmt.lib(new.obj) File: uafxcw.lib

有用于deletenew[]delete[]三个类似的错误。

我检查了几篇文章在网络上,其中大部分的说,它的CRT和MFC的dll之间的冲突。 (他们被拿起的顺序)。一篇文章建议将冲突的lib添加到项目设置中的忽略库列表中。

这样做,我留下了一个错误:

error LNK2001: unresolved external symbol __afxForceEXCLUDE File:LMAN.Lib

错误指向是通过这个项目(我们开发一个lib)引用的库。

有关如何解决此问题的任何想法?我相信这将是一个人在做移植到VS 2008

回答

1

解决它的一个常见问题。

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