VS2010 VC++ 编译出错 ---error LNK2005: public: virtual __thiscall CMemDC::~CMemDC(void)
生活随笔
收集整理的這篇文章主要介紹了
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)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java实验10流_实验9 Java输入
- 下一篇: C/C++ 踩过的坑和防御式编程