c++ - 链接器错误 : already defined

标签 c++ mfc linker visual-studio-2012

我正在尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C++ 项目(使用 MFC),它返回以下错误:

error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)   
error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj) 
error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj)
error LNK1169: one or more multiply defined symbols found

所以我在谷歌上搜索了一下,找到了这个页面: http://support.microsoft.com/?scid=kb%3Ben-us%3B148652&x=13&y=8 我尝试了解决方案一,但“忽略库”框不存在,对象/库模块框也不存在。对于忽略库,我发现忽略了特定的库,但是跳过第五步只会给我 17xx 错误。

我在谷歌上搜索了很多,但总是返回到同一页面,我该如何在 Visual Studio 2012 中解决这个问题?

最佳答案

我解决了这个问题:我发现是include的顺序有问题。但是强制每个文件都包含 afx.h(属性->c/c++/高级/强制包含文件) 为我解决了这个问题。

关于c++ - 链接器错误 : already defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915037/

相关文章:

c++ - Windows 运行中的目录搜索如何工作?

internet-explorer - MFC:IInternetProtocolSink 无法识别 MIME 类型 "text/css"

c - macOS:找不到 -lpaho-mqtt3c 的库

gcc - 为什么链接库的顺序有时会导致 GCC 出错?

PythonQt 不打印任何东西

c++ - 如何使用 C++ 在 USB 调制解调器华为 E171 上切换 2G\3G 模式?

c++ - 跟踪 MFC 消息处理

go - 编译go时包含目标文件

C++ 生成线程

c++ - 两个已排序数组的交集