C++ PCH

流程

  1. 创建pch.h,pch.cpp

    //pch.h
    #ifndef __PCH_H__
    #define __PCH_H__
    //include your header file (not likely to change)
    //...
    //...
    #endif
    
    
    //pch.cpp
    #include "pch.h"
  2. 在vs项目属性中C/C++的预编译头中设置使用预编译头

  3. 在【解决方案资源管理器】中右键选中pch.cpp文件属性设置创建预编译头

  4. 在所有源文件中第一个包含该预编译头文件pch.cpp。重复地向所有源文件添加预编译头会很繁琐,可在项目的属性设置中的C/C++下的高级中设置强制包含文件

ps:C++的预编译头是不能用在C上的,反之亦然。也就是说,假如预编译头是通过.cpp源文件生成的,那么在.c源文件中使用了这个预编译头就会导致编译出错,简单的做法是把源文件的扩展名改成.cpp,统一使用C++即可。

如果一些三方库的源代码文件不需要加入预编译头,如下解决:

  1. 在解决方案资源管理器中,右击相应的.cpp文件,点击“属性”
  2. 在左侧配置属性中,点开“C/C++”,单击“预编译头”
  3. 更改右侧第一行的“创建/使用预编译头”,把选项从“使用预编译头(/Yu)”改成“不使用预编译头”
  4. 注:每一个报错的.cpp都要如此更改