fatal error C1010: 在查找预编译头时遇到意外的文件结尾
错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?
一、概念:
1、预编译:就是编译器首先编译某个文件(称为预编译头文件),然后将这个编译结果保存起来,之后如果有其他源文件include了这个“预编译头文件”的时候,则自动从这个编译结果提取需要的信息进行编译。
2、预编译结果文件(Precompiled header file):就是那个用来保存已经编译了的符号信息的文件(.PCH作为后缀)
3、生成预编译结果文件(Create Precompiled header file):我们说源文件A通过文件B“生成预编译结果文件”是指编译A的时候将其中编译B的编译结果保存成预编译结果文件。一般使用向导的话,A文件就是“stdafx.cpp”,B文件是“stdafx.h”。stdafx.cpp中就一行语句:
#include “stdafx.h”
4、使用预编译头(Using precompiled header):我们说某个源文件(a.cpp)通过“stdafx.h”来使用预编译结果是指编译a.cpp的时候,如果a.cpp第一行include语句是#include “stdafx.h”的话,那么直接取预编译结果文件的结果,不再重新编译”stdafx.h”
二、向导是怎么做的?
1、设置“stdafx.cpp”的预编译选项是通过“stdafx.h”文件来“生成预编译结果文件”。
2、其他源文件的预编译选项设置是通过“stdafx.h”来“使用预编译头”
三、使用原则?
1、将相对稳定的头文件(比如CRT,STL,第三方固定的库)全部写在stdafx.h中。(是否使用stdafx.h依赖个人喜好,不过使用stdafx.h可以和向导保持一致)
2、全部源文件第一行都加#include “stdafx.h”。
3、一些不能修改的源文件(如果公共的代码,不具备权限修改的代码),设置他的预编译选项是“不使用预编译头”。注意,一定不能是选择“自动生成预编译头”,因为这样会将stdafx.h的结果冲掉(这个不知道是BUG还是设计的问题了,.^_^。)。
四、Q&A
Q、为什么不全部使用“自动生成预编译头文件”?
A、“自动生成预编译头文件”和什么都不用没有什么两样,编译速度没有质的提高。
Q、手工添加一个新的源文件到项目的时候,经常出现类似错误:
fatal error C1010: unexpected end of file while looking for precompiled header directive
A、因为向导缺省的设置是“使用预编译头”,但是你新加的文件并没有在第一行包含“stdafx.h”。解决的方法要么修改成“不使用预编译头”,要么添加一行#include “stdafx.h”
Q、加stdafx.h和stdafx.cpp总觉得是和编译平台绑定了
转自:http://blog.csdn.net/ghevinn/article/details/36629681
fatal error C1010: 在查找预编译头时遇到意外的文件结尾相关推荐
- vs错误描述:fatal error C1010:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“
错误描述:fatal error C1010:在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include"stdafx.h"" 这个问题不一定是 ...
- VS2017编译文件遇到fatal error C1010: 在查找预编译头时遇到意外的文件结尾的解决办法
背景 错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h""? 分析 ...
- 错误描述:fatal error C1010:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#includestdafx.h”?
错误描述:fatal error C1010:在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include"stdafx.h""? 错误分析: ...
- c语言错误c1010怎么办,fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h...
一.概念: 1.预编译:就是编译器首先编译某个文件(称为预编译头文件),然后将这个编译结果保存起来,之后如果有其他源文件include了这个"预编译头文件"的时候,则自动从这个编译 ...
- fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?
头文件没有使用预编译头 解决方法: 头文件上单击右键–>属性–>C/C++–>预编译头–>不使用预编译头
- vc编程中出现 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?...
源文: http://blog.csdn.net/monzart/article/details/6030999 解决办法 菜单--〉项目--〉设置,出现"项目设置"对话框,左边展 ...
- fatal error C1010:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include“stdafx.h“”
导入.h .cpp文件,编译报错,查了好多回答都是说.cpp使用预编译头,但是.cpp已经包含了#include "stdafx.h":并且右键属性也选择了使用预编译头,依然报错, ...
- fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h
解决方式: 一. 1) 在解决方案资源管理器中,右击相应的.cpp文件,点击"属性" 2) 在左侧配置属性中,点开"C/C++",单击"预编译头 ...
- fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”
错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx. ...
- error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”
fatal error C1010: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h (2011-09-08 22:17:50) 错 ...
最新文章
- benke计算机课程设计,(本科课程设计.doc
- java的classloader引用实例_通过实例Java ClassLoader原理
- linux IP类常用命令
- 【OpenYurt 深度解析】边缘网关缓存能力的优雅实现
- 在Android Studio中打开DDMS
- Linux 环境 C语言 操作MySql 的接口范例
- 从集合大小的定义到数学结构-解决了多年的疑惑
- 还在用iTunes管理iPhone这款软件帮你轻松解决
- Simpson’s Rule (辛普森法则)
- Userland中debian系统打开chromium
- 缓解精神内耗的“马原疗法”
- Problem Joseph。。。lzl==sz
- 对异地工作的一些看法
- 快速识别图像的RGB值
- 一进制存在吗?为什么?
- 用双重for循环打印99乘法表
- 用户留存率分析 表设计
- swift3.0 GCD
- 产品项目分析之竞品分析
- android监控网络是否连接(android监控网络请求apk)
热门文章
- 电脑投屏电视怎么设置_夏普电视怎么投屏?投屏功能在哪?
- python numpy 数据类型为python对象-关于Numpy数据类型对象(dtype)使用详解
- Python实现笑脸检测+人脸口罩检测
- python可以实现那些功能_30 个Python代码实现的常用功能,精心整理版
- arduino 土壤温湿度传感器_三分钟告诉你Arduino是什么
- python123词频统计之哈姆雷特_基于Yarn的Spark环境,统计哈姆雷特词频(1)-阿里云开发者社区...
- codesys编程_明晚20:00,CODESYS教您制作可编程控制器
- 04. Django基础:路由配置
- Spark、Strom、Flink和Beam的技术选型
- Ubuntu开机慢_开机计时1分30秒_A start job is running for dev-disk-by...