4

VS-IDE は//{{NO_DEPENDENCIES}}リソース ヘッダー ファイルに書き込みます。このコメントは実際には、リソース ヘッダーを含む cpp ファイルの (不要な) 再構築を防止する機能です。

ただし、MSDN に記載されているように、これは「望ましくない副作用」につながる可能性があります。

私たちのプロジェクトでは、プリコンパイル用にresource.h含まれています。stdafx.h残念ながら、リソース ファイルが変更された場合、プリコンパイル済みヘッダーは再構築されません...

NO_DEPENDENCIES を削除すると機能します (ただし、IDE 経由でリソースが変更された場合は再度書き込まれます)。

ファイルが変更されるたびにIDE がファイルに書き込まないようにする方法はあり//{{NO_DEPENDENCIES}}ますか?resource.h

resource.h最善の方法は、プリコンパイル済みヘッダー ファイルから を除外し、必要な .h および .cpp ファイルに再度含めることだと思います。この方法では、影響を受けるファイルのみを (手動で!) 再構築する必要があり、すべてのファイルを再構築する必要はありません (pch が再コンパイルされた場合に発生します)。

コメントはありますか?

4

1 に答える 1

1

私はあなた自身の提案に同意します:resource.hファイルはおそらくプリコンパイル済みヘッダー ファイルの一部であってはなりません。

この提案を適用するとコンパイル時間が長くなりすぎる場合は、2 つのプリコンパイル済みヘッダー ファイルを使用してみてください。現在のものを一方に使用し、現在のものをもう一方に使用してください resource.h。この後者の PCH は、必要なファイルによってのみ使用されますresource.h

メンテも楽じゃないかもしれませんが…

于 2009-10-21T19:14:31.943 に答える