VS 链接错误解决

VS2005,选择“静态库使用MFC”后提示如下错误信息:
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义


解决办法:
1.在设置-链接器-命令行中输入:/verbose:lib
重新编译,会提示链接顺序:

1> 正在搜索 D:\Program Files\Microsoft Visual Studio 8\VC\lib\DelayImp.lib:
1> 正在搜索 D:\Program Files\Microsoft Visual Studio 8\VC\lib\LIBCMTD.lib:
1> 正在搜索 D:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
1> 正在搜索 D:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\uafxcwd.lib:
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) 已经在 LIBCMTD.lib(dbgdel.obj) 中定义


2.修改链接顺序,首先忽略特定库”LIBCMTD.lib;uafxcwd.lib“,然后在附加依赖项中添加“uafxcwd.lib LIBCMTD.lib”。

重新编译通过。

你可能感兴趣的:(delete,VS2005,libcmtd.lib,uafxcwd.lib,链接错误)