當我在Visual Studio中構建我的C++解決方案時,它抱怨缺少xxxxx.pch文件。有沒有一個設置我錯過了預編譯頭文件?如何修復生成的.pch文件丟失?
這裏是爲了完整性確切的錯誤:
Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
當我在Visual Studio中構建我的C++解決方案時,它抱怨缺少xxxxx.pch文件。有沒有一個設置我錯過了預編譯頭文件?如何修復生成的.pch文件丟失?
這裏是爲了完整性確切的錯誤:
Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
點擊確定
如果你沒有在stdafx.h中頭文件放在那裏。編輯 它#include所有你想要預編譯的頭文件。
幸運13.橫過你的手指,並打建立。
預編譯頭(PCH)是使用一個兩步驟的過程。
在第一步,你編譯一個存根文件(在VS200x中它通常被稱爲stdafx.cpp
)。這個存根文件間接地只包含你想要預編譯的頭文件。通常,一個小標題(通常爲stdafx.h
)列出標準標題,如<iostream>
和<string>
,然後將其包含在存根文件中。編譯這將創建.pch文件。
在步驟2中,您的實際源代碼包含與第一個標題相同的步驟1中的小標題。編譯器在遇到此特殊頭文件時,會讀取相應的.pch文件。這意味着它不必每次都(重新)編譯這些標準頭文件。
就你而言,似乎第1步失敗。存根文件是否仍然存在?在你的情況下,這可能是xxxxx.cpp
。它必須是一個用/Yc:xxxxx.pch
編譯的文件,因爲這是編譯器標誌,指示它是PCH進程的第1步。如果xxxxx.cpp
存在,並且是這樣一個存根文件,那麼它可能會丟失它的/Yc:
編譯器選項。
**那麼它可能會丟失它的/ Yc:編譯器選項。**順便說一句,該選項位於項目屬性頁/配置屬性/ C-C++ /預編譯頭文件 – wil 2013-03-21 05:28:57
這適用於我。我刪除了「stdafx.cpp」,然後當我將其添加回去時,直到我關閉預編譯頭文件時,這個錯誤纔會消失。無論如何,這個項目很小,所以它不像它對速度有很大影響。 – Contango 2012-09-13 14:00:10
** 4。選擇'Create(/ Yc)'**(恢復並再次使用它) – Bitterblue 2014-04-15 13:52:41
修復:
請確保您有xxxxx.cpp在你的項目
編譯xxxxx.cpp與/ YC標誌(創建預編譯頭)
(右鍵點擊on xxxxx.cpp - > properties - > Precompiled Headers - >create)
編譯所有其他文件與/羽標誌(使用預編譯頭)
(右鍵單擊項目 - >屬性 - >預編譯頭 - >使用)
是的,它可以用其他人指出的/ Yc選項消除,但很可能你不需要觸摸它來修復它。爲什麼你首先得到這個錯誤而不改變任何設置?您可能已經「清理」了項目,並試圖編譯一個cpp文件。在這種情況下,你會得到這個錯誤,因爲現在缺少預編譯頭。只需構建整個項目(即使不成功)並且構建任何單個cpp文件,您都不會收到此錯誤。
嘗試構建>清理解決方案,然後構建>構建解決方案。 This適合我。
如果一切是正確的,但這個錯誤存在,它需要檢查下一節**** vcxproj文件:
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition=
在我的情況下,它有一個配置的不正確的名稱:只第一個字。
我知道這個話題很舊,但我最近在VS2015中處理這個問題,並且幫助刪除了構建文件夾並重新構建它。這可能是由於嘗試關閉程序或程序在建立時暫停/凍結VS而發生的。
是的,但最初的問題與VS2008有關,而不是VS2015。你有沒有確定這會解決OP的問題? – 2016-12-25 23:52:08
無論VS版本是什麼,這個問題在不同的版本中都會發生。試試看看它是否適用於你要處理的任何事情。 – glover12 2016-12-30 00:17:30
我正在尋找具有相同問題的iOS PCH文件,如果您也喜歡我,我找到的解決方案是清除派生數據;關閉模擬器,轉到xCode首選項 - >位置 - >轉到派生數據文件路徑,關閉xCode,刪除派生數據文件夾中的文件,重新啓動並歡呼:)
您必須提供更多信息。你得到了什麼錯誤?你的項目目前如何配置? – 2011-05-23 11:27:31
只是一個簡單的重建所有固定我的問題。 – Deqing 2016-09-15 06:57:25