私は、プロジェクトファイルのプリプロセッサ定義設定で_HAS_ITERATOR_DEBUGGING = 0を定義するいくつかのプロジェクトでVisual Studio 2008ソリューションを使用しています。しかし、これは一部のプロジェクトでのみ動作するように見えますが、イテレータのデバッグを有効にしてコンパイルされたものもあります。プロジェクト設定(時には)で_HAS_ITERATOR_DEBUGGING = 0に設定しても効果がありません
解決策のすべてのファイルを確認しましたが、プロジェクト設定以外では_HAS_ITERATOR_DEBUGGING
が定義されていません。
解決策の各stdafx.hの先頭に#define _HAS_ITERATOR_DEBUGGING 0
を追加することで、この問題を回避できますが、プロジェクトプリプロセッサ定義セクションでこれを設定するのがなぜ時間がかからないのかを知りたいと思います。何か案は?
私はマイケルバーの答えがそれをカバーするかもしれないと思いますが、 '_HAS_ITERATOR_DEBUGGING = 0'でビルドするといくつかのバグがあることにも注意してください(http://stackoverflow.com/questions/787288/problem-when-disabling-checked -iterers-in-vs2008-sp1-has-iterator-debugging0)を使用していました。マイクロソフトのコンパイラチームはVS2010で修正する必要があると述べた。 – birryree
私はそれを無効にしなければならないという考えが嫌いですが、ほとんどの場合、このオプションはウイルスに感染しています。残念ながら、私たちの依存関係の1つは無効になっています。 –