Visual C++ では、プリコンパイル済みヘッダー ファイルを設定するいくつかの方法を定義できます。最も一般的なのは、プロジェクト構成レベルですべてのソース ファイルに対して有効にすることです。構成プロパティ/C++/プリコンパイル済みヘッダーの下で、[プリコンパイル済みヘッダー] を設定し、[使用] を選択します。「プリコンパイル済みヘッダー ファイル」を設定する同じ場所は、通常「stdafx.h」です。すべてのファイルがこの設定を取得します (したがって、プロジェクトでの構成) 例外....
1 つのファイルが PCH ファイルの生成を担当します。そのファイルは通常、プロジェクトの stdafx.cpp ファイルであり、通常、.cpp 以外には何も含まれていません#include "stdafx.h"
。その 1 つのファイルのプリコンパイル済みヘッダーを構成し、「使用」から「作成」に切り替えます。これにより、PCH のプライムヘッダーが同期しなくなった場合、stdafx.cpp が常に最初にコンパイルされ、PCH データファイルが再生成されます。Visual Studio で PCH 設定を構成する方法は他にもありますが、これが最も一般的です。
そうは言っても、あなたの問題は間違いなくイライラしています。PCH システムの準備に使用され、上記の「使用...」と「作成...」設定の両方で指定されたファイル名は、#include のテキストと正確に一致する必要があります。
したがって、プロジェクトのインクルード ディレクトリに「..」を追加し、#include ステートメントから「..」を削除することで、問題に対処できる可能性が高くなります。プロジェクト構成レベルでスルー ヘッダーとして "..\stdafx.h" に変更することもできますが、階層的に複数のフォルダーにソース ファイルがある場合は問題になる可能性があります。
ああ、PCH 構成設定を熟読しているときに明確ではなかった場合、特定のソース ファイルに PCH を使用したくない場合 (そして、そうしない理由がある場合もあります)、特定のソース ファイルに対してそれをオフにすることができます。それ以外の場合は、必ずすべてのソース ファイル (c/cpp など) の先頭に #include "your-pch-include-file.h" を含めてください。
休憩をとってください。