MENU

VC++ 链接库重复定义错误

July 15, 2021 • Read: 417 • C/C++

错误描述

1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned __int64)" (??2@YAPEA
1>  所有输出均为最新。
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned __int64)" (??2@YAPEAX_K@Z) 已经在 LIBCMT.lib(new.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPEAX@Z) 已经在 LIBCMT.lib(delete.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new[](unsigned __int64)" (??_U@YAPEAX_K@Z) 已经在 libcpmt.lib(newaop.obj) 中定义
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPEAX@Z) 已经在 LIBCMT.lib(delete2.obj) 中定义
1>D:\ProtocolAnalysis_RS\x64\Release\ProtocolAnalysis_RS.exe : fatal error LNK1169: 找到一个或多个多重定义的符号

问题原因:nafxcw.lib和LIBCMT.lib两个库的连接顺序问题。

解决方法

1、先忽略这两个特定的库:项目---连接器---输入---忽略特定默认库
2、重新对这两个库进行连接,注意连接顺序:项目---连接器---输入---附加依赖性

回到上个页面 QR Code
QR Code for this page
Tipping QR Code