3

ファイル A.cpp、B.cpp、C.ppp、および一致するヘッダー ファイル (それだけです) を含む単一のプロジェクトがあるとします。C++ ファイルには、システム ヘッダーまたは他のモジュールのヘッダーが含まれています。

コマンド ライン アクション (たとえば、Make を使用) を使用してライブラリにコンパイルし、'cl' を使用して、プリコンパイル済みヘッダー機能を使用したいと考えています。

どのような手順を踏む必要がありますか? コマンド ライン スイッチとは何ですか?

4

3 に答える 3

1
  • プリコンパイルするヘッダーを含むファイル stdafx.h を作成します。
  • stdafx.h のみを含むファイル stdafx.cpp を作成します。
  • stdafx.pch が stdafx.{h,cpp} に依存していることを確認してください。
  • stdafx.cpp はフラグ /Yc でコンパイルする必要があります
  • 他のすべてのソース ファイルは stdafx.pch に依存する必要があります (後者が最初に作成されるように)。
  • 他のすべてのソース ファイルには、フラグ「/FI stdafx.h /Yu」が必要です (「#include "stdafx.h" がファイルの先頭に追加されたかのように実行し、PCH ファイルを使用します)。
于 2009-10-16T12:41:37.610 に答える
0

プリコンパイル済みヘッダーは、プリコンパイルするヘッダーを含む .cpp を作成することによって行われます。通常、この目的には stdafx.cpp が使用されます。

  1. プリコンパイルするヘッダーを含む .cpp を作成します。通常、このファイルは stdafx.cpp と呼ばれます。
  2. プロジェクトに .cpp を追加します
  3. 他の .cpp ファイルの前に /Yc を使用してそのファイルをコンパイルします。/Fp は、コンパイル済みの情報を使用して .pch ファイルの名前を設定します。
  4. #3 の .pch の名前で /Yu および /Fp を使用して他のすべてのファイルをコンパイルします。

他にも方法はありますが、これが一番簡単だと思います。

于 2009-10-15T13:56:18.900 に答える
0

Visual Studio を使用しているので、ソリューションを構築することをお勧めします。

devenv solutionfile.sln /build [ソリューション構成] [ /project プロジェクト名またはファイル [ /プロジェクト構成名] ]

個々のファイルを個別に実行する必要がある場合は、プロジェクト内の各ファイルのビルド プロパティ設定の下部にあるコマンド ライン オプションを参照してください。必要なすべてのスイッチが表示されます。

PCH に関しては、pch を作成している cpp が最初にコンパイルされていることを確認するだけです。

于 2009-10-15T14:41:02.210 に答える