欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

VS2010 VC++ 编译出错 ---error LNK2005: public: virtual __thiscall CMemDC::~CMemDC(void)

发布时间:2025/3/12 c/c++ 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 VS2010 VC++ 编译出错 ---error LNK2005: public: virtual __thiscall CMemDC::~CMemDC(void) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
uafxcwd.lib(afxglobals.obj) error LNK2005: "public: virtual __thiscall CMemDC::~CMemDC(void)" (??1CMemDC@@UAE@XZ) already defined in MultiColorPlotCtrl.obj 上面是意思是,连接器说,我找到了两个定义,一个在 uafxcwd.lib(afxglobals.obj)里面,还有一个在MultiColorPlotCtrl.obj 。 工程中有一个MemDC.h文件,里面定义了一个CMemDC类,不巧的是,VS2010的MFC新增了这个类,所以链接时会出问题。 那怎么解决了?有如下办法: 1 修改MFC中CMemDC的名字。这个明显不行。。。 2 将emule中的CMemDC改个名字,这个方法可以,可是我找了下,貌似用这个类的文件还不少。不甘心一条条改,于是想出下面的方法。。。 3 增加一个宏定义, #define CMemDC XCMemDC 将上面的语句加到stdafx.h的最后。(也可以在工程属性页中以编译器指令的形式定义宏,格式为 /D "CMemDC=XCMemDC")。

总结

以上是生活随笔为你收集整理的VS2010 VC++ 编译出错 ---error LNK2005: public: virtual __thiscall CMemDC::~CMemDC(void)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。