2007年8月21日

error LNK2005:

nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) はすでに libcpmtd.lib(delop.obj) で定義されています
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int,int,char const *,int)" (??2@YAPAXIHPBDH@Z) はすでに LIBCMTD.lib(dbgnew.obj) で定義されています


VC6.0でMFCプロジェクトでたまに出るリンカーエラー。
C ランタイム ライブラリを MFC ライブラリより先にリンクしたときでるらしい。

「プロジェクト」→「設定」→「リンク」から、カテゴリを「インプット」にして、「オブジェクト/ライブラリモジュール」に「Nafxcwd.lib Libcmtd.lib」、無視するライブラリに「Nafxcwd.lib Libcmtd.lib」とやれば解決。Nafxcwd.lib Libcmtd.libはDebug用のライブラリだから、リリース時には、「Nafxcw.lib Libcmt.lib」にしないとダメ。


この辺が参考になります。
http://frog.raindrop.jp/knowledge/archives/000503.html
http://isobe.exblog.jp/3506901/
http://support.microsoft.com/default.aspx?scid=kb;ja;148652

人気blogランキングへ にほんブログ村 IT技術ブログへ ブログランキング ドット ネット

0 件のコメント: