ここで説明したデバッグを使用し始めると、非常に厄介なリンカ エラーが発生しました。
new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
コンストラクトに絞り込むことができました。この新しい演算子のオーバーロードが使用されるとすぐに、私は取得しますerror LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (??3@YAXPEAXHPEBDH@Z) already defined in ...
そのオブジェクト ファイルをリンク プロセスから除外すると、別のファイルが表示されるだけです。私はこれを確認していませんが、MFC と競合するこれらのオブジェクト ファイルはすべて、デバッグ用の新しいバージョンのオペレーターを使用していると確信しています。
このエラーを Google で検索すると、CRT と MFC を間違った順序で混在させていることがすべての証拠からわかります。
私はすべてのオブジェクトファイルとライブラリをdumpbin /directives
調べて、リンクの順序が正しいことを確認しましたが、これらすべてにもかかわらず、そのエラーを乗り越えたことはありません.
CRT のデバッグ手法は本質的に MFC と互換性がないのでしょうか、それとも説明がありますか?
私は MFC についてあまり知識がなく、MFC から完全に離れようとしていますが、それが起こるまでこれを機能させたいと思っています。