error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib
环境WIN10+VS2010。
之前写代码时,需要调用windowsAPI,引用了#include <windows.h>。接下来为了返回CString,引用了#include <afxwin.h>。
第一次报错:
error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
解决方法:
1.在创建工程时,勾选MFC;
2.已经创建工程,可以修改project属性:配置属性->常规->MFC使用:选择 在静态库中使用MFC。
再次编译第二次报错:
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
网上很多case解释说,错误在于<windows.h>和<afxwin.h>不能同时使用,需要注释掉#include <windows.h>,
可是注释掉之后又会出现很多对于<windows.h>的错误。
所以,有另一种方式解决这个问题:
出现这个错误实际上是VS编译顺序上的问题,把#include <afxwin.h>改在第一行写即可。
接下来再次编译,第三次报错:
error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib
解决方法:
再次修改project属性:配置属性->常规->MFC使用:选择 在动态DLL中使用MFC。
这点小问题,耽误了我一个多小时的时间...真心无语了。不怕丢人,晒出来给大家参考,希望像我一样的新手出现相似问题时能够尽快解决!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2021-02-26 文件服务器tcp 多线程
2021-02-26 dmp 核心转储
2021-02-26 2100: detection error on hdd0
2021-02-26 山东方寸微电子有限公司
2021-02-26 收集dmp文件
2021-02-26 BlueScreenView.exe
2020-02-26 http json 发送1001次 不丢包