当我在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
Answers:
注意:IDE的更高版本可能在相关文件的默认名称中使用“ pch”而不是“ stdafx”。在以下说明中,可能有必要用pch代替stdafx。我道歉。这不是我的错。
单击确定
如果您的头文件中没有stdafx.h,则将其放在此处。编辑它以#include您要预编译的所有头文件。
幸运13.双手合十并点击“构建”。
stdafx.pch
文件,而xxxxx.pch
问题中的则提示一个更复杂的问题(多PCH设置)。
预编译头(pch)的使用分为两个步骤。
在第一步中,您将编译一个存根文件(在VS200x中通常称为stdafx.cpp
。较新的版本使用pch.cpp
。)。此存根文件仅间接包含要预编译的头。通常,一个小标头(通常为stdafx.h
或pch.hpp
)列出标准标头,例如<iostream>
和<string>
,然后将其包含在存根文件中。编译此文件将创建.pch文件。
在第2步中,实际的源代码包含第1步中与第一个标头相同的小标头。编译器遇到此特殊头时,将改为读取相应的.pch文件。这意味着它不必每次都重新编译那些标准头文件。
在您的情况下,似乎第1步失败。存根文件是否仍然存在?在您的情况下,可能是xxxxx.cpp
。该文件必须是使用编译的文件/Yc:xxxxx.pch
,因为这是表明它是PCH流程的第1步的编译器标志。如果xxxxx.cpp
存在,并且是这样的存根文件,则可能缺少其/Yc:
编译器选项。
Create (/Yc)
(还原,然后再次使用)
如果一切正确,但是存在此错误,则需要检查****。vcxproj文件中的下一部分:
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition=
在我的情况下,配置名称不正确:只有第一个单词。
我知道这个主题很老,但是最近我在VS2015中处理了这个问题,而有用的是删除了构建文件夹并重新构建。这可能是由于尝试在构建时关闭程序或暂停/冻结VS而发生的。
我正在搜索有相同问题的iOS PCH文件,如果您也像我一样来到这里,那么我找到的解决方案是清除派生数据。关闭模拟器,转到xCode首选项->位置->转到派生数据文件路径,关闭xCode,删除派生数据文件夹中的文件,重新启动并欢呼:)