zoukankan      html  css  js  c++  java
  • unexpected end of file while looking for precompiled headerdirective Add directive to 'stdafx.h' or rebuild precompiled header错误

    解决方式

    项目工程右键->propertity(属性),选择不用于预编译头

    原因

    C++的编译过程如下:

     

    当头文件很多时,预编译过程需要耗费大量时间,为了减少重复编译的次数,C和C++提供了预编译任何 C 或 C++ 代码方式,将stdafx.h(预编译头)内的文件,以已编译状态的代码存储在文件中,以及在随后的编译中,将预编译的代码与仍在开发的代码结合起来,提高编译速度。

    预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。 

    编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。 

    因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。

    报错问题也是与此有关

  • 相关阅读:
    c++ struct 使用
    c++数组、字符串操作
    c++ List、Vector、Stack、Queue使用
    十三、哈希表
    十二、234树
    十一、红黑树
    十、哈夫曼编码
    九、二叉树
    八、高级排序
    七、递归
  • 原文地址:https://www.cnblogs.com/feichangnice/p/11935969.html
Copyright © 2011-2022 走看看