問題なくコンパイルおよびリンクされている C++ プロジェクトがあります。最近、グローバルな new および delete 演算子をオーバーライドするコードを追加したところ、プロジェクトがエラーでリンクできなくなりました。
エラー LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) は既に定義されています。
私は MS KB148652 を認識しており、それが示唆することを実行しました。Nafxcwd.lib と Libcmtd.lib を追加の依存関係に配置し、特定のライブラリを無視します。他の以前のリンカーエラーを排除するために追加する必要があったため、実際には既に存在していました。すべての .cpp ファイルの最初のインクルードが (KB148652 が示唆するように) stdafx.h であることを確認しましたが、何も機能していないようです。
誰かが別のアプローチや私が試したことのない方向性を提案できる場合は、それについて知っていただければ幸いです。前もって感謝します。