pch文件配置出现 Expected unqualified-id 和 Unkown type name 'NSString'

1、发生的现象

  • 之前代码还是没有报错的,由于某些代码比较常用,就打算配置一个pch文件引入常用的文件
  • 但是引入的时候就出现了报错

2、原因与解决办法

  • 2.1 原因

    • 你引入的文件可能使用到OC与C++混编,把C++的类拖入工程编译
    • 这是因为将C++拖入项目之后, 默认编译会先编译C++类, 编译之后导入OC的类的时候, 编译的场景是C++, 所以会出现unknown type的报错
  • 2.2 解决办法

    • 使用#ifdef OBJC与#endif,只允许符合要求的代码导入环境
    #ifndef LeTools_pch
    #define LeTools_pch
    
    #ifdef __OBJC__
    
    #import "LeTool.h"
    
    #endif // OC的头文件
    
    #endif /* LeTools_pch */
    
原文地址:https://www.cnblogs.com/CH520/p/10291661.html