1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" 已經在 LIBCMTD.lib(new.obj) 中定義
1>nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" 已經在 LIBCMTD.lib(dbgdel.obj) 中定義
... 多重定義符號導致 LNK1169
MFC 靜態庫 (nafxcwd.lib) 與 C 運行時靜態庫 (LIBCMTD.lib) 都定義了 new/delete 運算符,**鏈接順序錯誤**導致重複符號衝突。
強制鏈接器**先處理 MFC 庫,再處理 CRT 庫**
nafxcwd.lib;libcmtd.libnafxcwd.lib libcmtd.lib(順序:MFC 先,CRT 後)<IgnoreSpecificDefaultLibraries>nafxcwd.lib;libcmtd.lib</IgnoreSpecificDefaultLibraries>
<AdditionalDependencies>nafxcwd.lib;libcmtd.lib;%(AdditionalDependencies)</AdditionalDependencies>
new/delete 實現new/delete 並記錄文件/行號/MTd 或 /MDd)