Visual Studio で C++ ソリューションをビルドすると、xxxxx.pch ファイルが見つからないというメッセージが表示されます。プリコンパイル済みヘッダーを取り戻すために不足している設定はありますか?
完全を期すための正確なエラーは次のとおりです。
Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
Visual Studio で C++ ソリューションをビルドすると、xxxxx.pch ファイルが見つからないというメッセージが表示されます。プリコンパイル済みヘッダーを取り戻すために不足している設定はありますか?
完全を期すための正確なエラーは次のとおりです。
Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
注: IDE の以降のバージョンでは、関連ファイルのデフォルト名に「stdafx」ではなく「pch」が使用される場合があります。以下の手順では、stdafx を pch に置き換える必要がある場合があります。謝罪します。それは私のせいではありません。
[OK] をクリックします
ヘッダー ファイルに stdafx.h がない場合は、そこに置きます。プリコンパイルするすべてのヘッダーを #include するように編集します。
ラッキー 13. 指を交差させて Build を押します。
プリコンパイル済みヘッダー(pch)の使用は、2段階のプロセスです。
ステップ1では、スタブファイルをコンパイルします(VS200xでは通常呼ばれstdafx.cpp
ます。新しいバージョンでは。を使用しpch.cpp
ます)。このスタブファイルには、プリコンパイルするヘッダーのみが間接的に含まれています。通常、1つの小さなヘッダー(通常stdafx.h
または)には、やpch.hpp
などの標準ヘッダーがリストされ、これがスタブファイルに含まれます。これをコンパイルすると、.pchファイルが作成されます。<iostream>
<string>
ステップ2では、実際のソースコードに、ステップ1の最初のヘッダーと同じ小さなヘッダーが含まれています。コンパイラは、この特別なヘッダーを検出すると、代わりに対応する.pchファイルを読み取ります。つまり、これらの標準ヘッダーを毎回(再)コンパイルする必要はありません。
あなたの場合、ステップ1は失敗したようです。スタブファイルはまだ存在していますか?あなたの場合、それはおそらくですxxxxx.cpp
。/Yc:xxxxx.pch
これは、PCHプロセスのステップ1であることを示すコンパイラフラグであるため、でコンパイルされたファイルである必要があります。が存在し、そのようなスタブファイルである場合は、コンパイラオプションxxxxx.cpp
が欠落している可能性があります。/Yc:
修理:
プロジェクトに xxxxx.cpp があることを確認してください
/Yc フラグを指定してxxxxx.cppをコンパイルします (プリコンパイル済みヘッダーの作成
)
(xxxxx.cpp を右クリック -> プロパティ -> プリコンパイル済みヘッダー ->作成)
/Yu フラグを使用して他のすべてのファイルをコンパイルします (プリコンパイル済みヘッダーを使用
)
(プロジェクトを右クリック -> プロパティ -> プリコンパイル済みヘッダー ->使用)
はい、他の人が指摘したように /Yc オプションで排除できますが、修正するために触れる必要はないでしょう。設定を何も変更せずに最初にこのエラーが発生するのはなぜですか? プロジェクトを「クリーン」にして、単一の cpp ファイルをコンパイルしようとする可能性があります。この場合、プリコンパイラ ヘッダーが欠落しているため、このエラーが発生します。プロジェクト全体をビルドするだけで (失敗した場合でも)、単一の cpp ファイルをビルドすると、このエラーは発生しません。
Build > Clean Solution を試してから、Build > Build Solution を試してください。 これは私にとってはうまくいきます。
このトピックは非常に古いことは知っていますが、最近VS2015でこれに対処していましたが、ビルドフォルダーを削除して再ビルドすることが役に立ちました。これは、プログラムを閉じようとしたか、ビルド中にプログラムが VS を停止/フリーズしたために発生した可能性があります。
すべてが正しいが、この間違いが存在する場合は、****.vcxproj ファイルの次のセクションを確認する必要があります。
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition=
私の場合、構成の名前が正しくありませんでした。最初の単語のみです。