fatal error C1083: 无法打开预编译头文件:“Debug\a.pch”:No such file or directory

一、解决方法

右键点击你创建的项目,选择“属性标签”点击属性,弹出“项目属性页”,在左侧找到以下位置  配置属性 -->  C/C++  --> 预编译头,并选择它:在右边的菜单中选择 “创建/使用预编译头”中的“不使用预编译头文件”点击“确定”按钮退出即可。

二、原因分析

编译器一般都是以文件为单位进行编译,如果修改了工程中的一个文件,那么将导致所有文件都要从新编译,这样的编译将耗费很长时间。
      为了提高编译速度,将那些不常被修改,比较稳定,文件单独包含到一个指定的头文件中, 然后生成一个预编译头文件 *.pch 。 VC中默认的头文件为 stdAfx.h, 但光有头文件无法编译,所以还要用到 StdAfx.cpp里只包含一句有效代码,这样编译时,通过编译 stdAfx.cpp就把大部分系统头文件编译进来, Debug目录下便会产生一个 存储了预编译信息的 *.pch 文件。
      如果 *.pch文件损坏或者不存在,就会出现,题目所示的无法打开预编译头文件的错。

三、自己的理解和想法

原因分析很到位,但是网上的解决方案(如一)不是很好。我的理解是既然要生成*.pch文件,那就让程序生成一个了,万一后面要用的呢,而且还可以节省时间。

所以我的做法是在stdafx.cpp属性里面选择创建预编译头文件,然后先F7编译stdafx.cpp文件,让其生成*.pch文件,然后在编译main.cpp文件。

时间: 2024-10-14 21:36:10

fatal error C1083: 无法打开预编译头文件:“Debug\a.pch”:No such file or directory的相关文章

VS2010遇到fatal error C1083: 无法打开预编译头文件:“xxx.pch”: No such file or directory

对C++和VS2010非常不熟悉,但是无奈赶着项目,只能看了点基础就上手,然后就碰到这个问题了. 原因分析: http://bbs.csdn.net/topics/340191697?page=1 编译器一般都是以文件为单位进行编译,如果修改了工程中的一个文件,那么将导致所有文件都要从新编译,这样的编译将耗费很长时间.      为了提高编译速度,将那些不常被修改,比较稳定,文件单独包含到一个指定的头文件中, 然后生成一个预编译头文件 *.pch . VC中默认的头文件为 stdAfx.h, 但

VC研究: 使用tinyxml编译出现“fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾”

向项目添加tinyxml用于解析xml内容,总体来说tinyxml还是很方便. 编译时提示"fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾" 分析: 此错误发生的原因是VC编译器在寻找预编译头文件(默认#include "stdafx.h")时,文件未预期结束.也就是没有找到默认的预编译头文件"stdafx.h".而VC中创建每一个cpp默认都会加上"stdafx.h",但添加的第三方类库(比如t

fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?

fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h""? vs开发时经常遇到没加stdafx.h头文件,解决办法就是吧预编译头去掉! fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h""?,布布扣,bubuko.com fatal error C1010: 在查找

fatal error C1010: 在查找预编译头时遇到意外的文件结尾

错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h""? 错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx.h". (因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的,但是添加的第三方文件并没有 #inc

fatal error C1010: 在查找预编译头时遇到意外的文件结尾 (转)

错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加“#include "stdafx.h"”? 错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx.h". (因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的,但是添加的第三方文件并没有 #include "

错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?(转)

错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx.h".    (因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的(选择了使用,就要在源文件中显式写上#include),但是添加的第三方文件并没有 #include "stdafx.h" 预编译指示头,所以编译器在此cpp文件中一直到末尾都没有找到它)    我的这

fatal error C1859 意外的预编译头错误,只需重新运行编译器(转)

微软的建议 要解决此问题,请使用下列方法之一. http://support.microsoft.com/kb/976656/zh-cn 方法 1 禁用/analyze编译器选项,则它会被启用. 方法 2 开始清理生成. 方法 3 重新启动计算机. 方法 4 禁用创建/使用预编译头的编译器选项. 注意这些方法不能保证正常工作.即使您使用这些方法之一,您可能仍会遇到此问题. 我的解决方案,生成 ->仅用于项目->仅清理  生成->清理解决方案, 生成 ->清理项目

error C1010:在查找预编译头文件时遇到意外的文件结尾——————vs错误

在MFC工程下添加了一个新的文件,编译时出现错误,错误描述为: 解决方法: 在解决方案管理器中找到相应的.cpp文件,右键属性,C++--预编译头中选择不使用预编译头.保存后Ctrl + F7重新编译即可. 问题分析: .. 原文地址:https://www.cnblogs.com/xiawuhao2013/p/9704161.html

VS中c++文件调用c 函数 ,fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

出现错误:error C1853: "Debug\ConsoleApplication1.pch"预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 相关资料: http://blog.sina.com.cn/s/blog_674cc1fd0100jirq.html 如果按上面方式调用还不成功,把.c文件的预编译去掉 右击.c文件,属性 ->点击左侧 预编译头,右侧 预编译头选项选择 不使用预编译头 对于为什么要去掉预编译头呢,可参考http: