当我们创建一个默认的控制台项目时,会发现有stdafx.h等文件会伴随生成,当我们把这些文件删除时,会出现以下错误。
问题原因:
1、预编译:编译器首先编译某个文件,然后将这个编译结果保存起来,之后如果有其他源文件包含了这个“预编译头文件”的时候,则自动从这个编译结果提取需要的信息进行编译。
2、预编译结果文件(Precompiled header file):就是那个用来保存已经编译了的符号信息的文件(.PCH作为后缀)
3、生成预编译结果文件(Create Precompiled header file):我们说源文件A通过文件B“生成预编译结果文件”是指编译A的时候将其中编译B的编译结果保存成预编译结果文件。一般使用向导的话,A文件就是“stdafx.cpp”,B文件是“stdafx.h”。stdafx.cpp中就一行语句
解决
如下改为“不使用预编译头”即可。