私はMSDNのドキュメントを読んでいましたが、最終的には、それらの間の実際的な違いは何かを明確にしていませんでした。両方とも、すべての* .cppファイルの先頭にstdafx.hを追加する必要があるようです。Visual Studioで "プリコンパイル済みヘッダーの作成"(/ Yc)と "プリコンパイル済みヘッダーの使用"(/ Yu)の違いは何ですか?
私はVS2008を使用しています。
誰かが明確なことを助けることができますか?
私はMSDNのドキュメントを読んでいましたが、最終的には、それらの間の実際的な違いは何かを明確にしていませんでした。両方とも、すべての* .cppファイルの先頭にstdafx.hを追加する必要があるようです。Visual Studioで "プリコンパイル済みヘッダーの作成"(/ Yc)と "プリコンパイル済みヘッダーの使用"(/ Yu)の違いは何ですか?
私はVS2008を使用しています。
誰かが明確なことを助けることができますか?
まず、プリコンパイル済みヘッダーの目的を理解しておく必要があると思います。大規模なプロジェクトでは、たとえば単一のクライアントエクステンションに必要なすべてのヘッダーを処理するには時間がかかることがあります。そのため、.pchファイルをライブラリと共に配布する方が好きな人もいます。 .pchファイルを生成するには、/Yc
コンパイラフラグを使用し、ライブラリを使用する人は/Yu
フラグを設定します。詳細は、hereおよびhereを参照してください。
ライブラリからPCHファイルを取得するべきではありません。ライブラリ開発時に使用されるヘッダーは、おそらくコンシューマーコードで必要とされるヘッダとはかなり異なるでしょう。 –
@BenVoigt確かに、これはおそらく一般的な方法ではありません。巨大でクライアントエクステンションは厳密にこの会社によって提供されたものから派生したものです。この回答が改善する必要があると思ったら編集を提案してください。 –
短い要約は:
stdafx.h
を含める必要がProperties -> C++ -> Precompiled Headers
に 'Use used'に 'プリコンパイル済みヘッダーの作成/使用'を設定します。プロパティページがまだソリューションエクスプローラでstdafx.cpp
選択を示すとドキュメントへのリンクは関連するかもしれない+1明確でシンプルでポイント回答。 – CodeAngry
を「作成」に値を設定している間適用