3

Visual Studio ソリューション パラメーターを設定して、ソリューション全体をビルドせずにプリコンパイル済みヘッダーを作成する方法はありますか。具体的には、それ自体が多くのプロジェクトを持つ巨大な C++ ソリューションです。

ありがとうございました。

4

3 に答える 3

10

メリットと設定方法については、こちらの記事をご覧ください。大規模なプロジェクトがある場合は、数回のクリックと余分なディスク容量を確保する価値があります。

この記事では、すべてのソースとヘッダーに stdafx.h を追加する必要があると述べています。それは正しくありません。ソースに追加するだけで十分です。ただし、それより前の行はすべて無視されるため、最初の行であることを確認してください。

この記事では言及していませんが、stdafx.h を含まないソースからエラーが発生します。このエラーを解決するには、エラーを追加するか、プリコンパイル プロセスからソースを除外するかを選択できます。ソース ファイルを除外するには:

  • ソリューション エクスプローラーでソース ファイルを選択します。はい、一度に複数選択できます。
  • 強調表示されたソース ファイルを右クリックし、
  • ポップアップ メニューから [プロパティ] をクリックし、
  • 上部のコンボボックスから「すべての構成」を選択し、
  • C-C++ 構成の下で、[プリコンパイル済みヘッダー] をクリックします。
  • 右側で「プリコンパイル済みヘッダーを使用しない」を選択し、
  • 適用をクリックし、
  • [OK] をクリックします。

ここから数秒で新しいビルドをお楽しみください (最初のビルドには時間がかかります)。

于 2013-04-04T22:48:13.280 に答える
10

pch Creator ソース ファイル (通常は stdafx.cpp) のみを選択し、それをコンパイルします (Ctrl-F7、または右クリックして [コンパイル] を選択します)。

それはあなたのために働いていないようですので、より多くの情報:

プリコンパイル済みヘッダーを使用するすべてのプロジェクトには、pch ファイルの作成に使用されるソース ファイルが 1 つあり、残りは pch ファイルのみを使用します。このソース ファイルは通常、次の 1 行だけで構成されます。

#include "StdAfx.h"

「Stdafx.h」は、Visual C++ の既定のプリコンパイル済みヘッダー ファイル名ですが、別の名前にすることもできます。"StdAfx.cpp" を単独でコンパイルすると、"Your_Project_Name.pch" という名前のファイルが生成されます (これもデフォルトです)。すべての obj ファイルがある中間ディレクトリにあるはずです。これはプリコンパイル済みヘッダーです。私が言ったように、「ビルド」ではなく「コンパイル」を選択した場合、他のファイルはコンパイルされず、リンクも行われません。

それでも問題が解決しない場合は、何を求めているのかわかりません。

于 2011-07-11T13:28:47.150 に答える
2

プロジェクトからstdafx.cpp以外のCppファイルを右クリックし、[ビルドから除外]を[はい]に設定すると、プリコンパイル済みヘッダーのみが生成されます。

コマンドラインを使用するか、stdafx.cppのみを含む新しいプロジェクトを作成する場合でも、同じ結果を得ることができます。

于 2011-07-11T13:31:07.860 に答える