opencv和MFC混用后,MFC動(dòng)態(tài)鏈接內(nèi)存泄漏,MFC靜態(tài)鏈接失敗
(2014-07-17 21:53:16)
【錯(cuò)誤】:
1.如果動(dòng)態(tài)鏈接,發(fā)生內(nèi)存泄漏,故采用靜態(tài)鏈接
2.如果采用MFC靜態(tài)鏈接,將鏈接失?。?/div>
【現(xiàn)象】:
如果在編譯MFC程序的時(shí)候出現(xiàn)下列及類似的錯(cuò)誤:
1>uafxcwd.lib(afxmem.obj) :
error LNK2005: "void * __cdecl operator new(unsigned int)"
(??2@YAPAXI@Z) 已經(jīng)在 LIBCMTD.lib(new.obj) 中定義
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl
operator delete(void *)" (??3@YAXPAX@Z) 已經(jīng)在 LIBCMTD.lib(dbgdel.obj)
中定義
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl
operator new[](unsigned int)" (??_U@YAPAXI@Z) 已經(jīng)在
libcpmtd.lib(newaop.obj) 中定義
1>uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl
operator delete[](void *)" (??_V@YAXPAX@Z) 已經(jīng)在
LIBCMTD.lib(delete2.obj) 中定義
【解決方法如下】:
項(xiàng)目屬性頁-》鏈接器-》輸入
做如下改動(dòng),注意順序
附加依賴庫:uafxcwd.lib;LIBCMTD.lib;
忽略特定默認(rèn)庫:LIBCMTD.lib;uafxcwd.lib
【更多的解釋】
1.http://www./gddg/archive/2013/08/20/403101.html
|