error?

Tags: 錯誤, 順序,

在Visual studio上程式設計時有時會出現:nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" ([email protected]@Z) 已經在 LIBCMTD.lib(dbgdel.obj) 中定義;錯誤,這主要是因為兩個庫的順序問題,改下屬性就好了。

工具/原料

Visual Studio

方法/步驟

在用Visual Studio寫MFC程式時出現delete等操作符重定義的情況,下面是debug下的錯誤情況

error LNK2005: void __cdecl operator錯誤處理

而在Release下可能出現的情況是這樣的

error LNK2005: void __cdecl operator錯誤處理

這種情況時右鍵專案選擇屬性

error LNK2005: void __cdecl operator錯誤處理

在屬性頁選擇:配置屬性->連結器->輸入,

error LNK2005: void __cdecl operator錯誤處理

然後在忽略特定預設庫裡新增nafxcwd.lib;LIBCMTD.lib,而在附加依賴項裡再加入nafxcwd.lib;LIBCMTD.lib;,順序很重要,本來的順序是LIBCMTD.lib在前,現在是nafxcwd.lib在先。

error LNK2005: void __cdecl operator錯誤處理

Release下也是一樣,忽略特定預設庫裡新增nafxcw.lib;LIBCMT.lib,而在附加依賴項裡再加入nafxcw.lib;LIBCMT.lib;

error LNK2005: void __cdecl operator錯誤處理

相關問題答案