2009-06-23 78 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了。我從該項目中刪除了包含,然後瞧! - 構建成功。