~_AFX_CTL3D_THREAD 问题的解决

来源:互联网 发布:seo最好的cms 编辑:程序博客网 时间:2024/05/23 15:38

VC6 写 DirectShow 应用的时候,发现程序退出的时候老是在 ~_AFX_CTL3D_THREAD() 崩溃,网上基本没说清楚原因,

于是用 VC2005 编译,编译不过,说

new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)

delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj)

 

上网查阅有关资料后,发现得先编译 MFC 的库,

将冲突的两个库 "Nafxcwd.lib Libcmtd.lib",放在 Linker -> Input -> Additional Dependenics 最前面,编译通过,

~_AFX_CTL3D_THREAD() 崩溃的问题也解决了,

 

结论:~_AFX_CTL3D_THREAD() 崩溃是由于 Nafxcwd.lib 和 Libcmtd.lib冲突,造成程序退出时(VC6),

CThreadSlotData::FreeSlot(int 3) 中 delete (CNoTrackObject*)pData->pData[nSlot];造成的。

 

 

原创粉丝点击