海康相机SDK二次开发报错内容:错误 LNK2005 “void * __cdecl operator new(unsigned __int64)” (??2@YAPEAX_K@Z) 已经在 LIBCMT.lib(new_scalar.obj) 中定义
此类问题是由于工程同时包含windows和MFC库,其实是同时包含<windows.h>和<afxwin.h>,导致内部编译顺序发生错乱。
解决方案如下:
(1)Release模式下:在链接器—输入—附加依赖库中依次添加uafxcw.lib Libcmt.lib,在忽略特定默认库中依次添加uafxcw.lib Libcmt.lib;
(2)Debug模式下:在链接器—输入—附加依赖库中依次添加uafxcwd.lib Libcmtd.lib,在忽略特定默认库中依次添加uafxcwd.lib Libcmtd.lib;
注:win32和MFC混编时,要保证所有以afx开头的头文件,放在stdafx.h最前面,不然会报WINDOWS.H重复包含的错误!