导致出现异常的原因是是因为工程中添加了某(第三方开源库)

一般情况下出现“Unknown type name”是头文件互相引用出现的,这里可以排除,由于源码使用是c\c++与oc混编,

考虑新的XCode编译文件类型导致的,尝试了几种方案,下面三种可以解决问题。

解决方案一:

选择所有.c文件,将属性的 identity and type 改为Objective-C Source。

解决方案二:

选择所有.c文件,将.c修改为.m

解决方案三:

将Compile Sources As 改为 Objective-C++

 
方案三由于修改所有文件的编译类型,所有可能会导致其他包括c、c++代码的提示错误,不过都是些的提示异常,按提示修改即可。
 

另外,添加第三方库一般步骤分三步:

1)拖入库文件夹,copy一份加入自己的项目

2)添加库所需要的框架或者动态链接库

3)ARC下修改编译属性 -fno-objc-arc

但是今天加入zipArchive ,按步骤加入,增加libz动态库,修改-fno-objc-arc一下报了23个错误(汗too many errors emitted, stopping now),都是expected identifier or '(' ,unknown type name 'NSString',could not build module 'Foundation',could not build module 'UIKit'。

通过百度,stackOverflow上找到解决方法:

在所在项目pch文件中,把自己所#import的头文件做如下操作

#ifdef __OBJC__

#import

#endif

分析了一下,zipArchive库是C OC C++文件混编,pch里面自加的头文件是全局性的,当在C文件import时其实是没有意义的,也就是问题出处,所以要ObjC区分开编译,这样总是就解决了。

今天在添加Redis的时候报错,参考这个修改不报错了

 
 
 
 
 
 

最新文章

  1. PHP 下option selected 无效
  2. MAC下安装与配置MySQL
  3. toad 常用快捷键与配置
  4. AO中的GraphicsLayer---------元素的容器
  5. RAC执行root.sh报libcap.so.1: cannot open shared object file
  6. Vuex核心知识(2.0)
  7. Linux下防火墙配置
  8. 关于Vuex的初步使用
  9. python github
  10. 第六课 Html5常用标签 html5学习1
  11. CentOS7 使用systemctl来管理服务
  12. Spring的事务初见
  13. 静态方法和实例方法(mark)
  14. shell编程-输出(六)
  15. Github与SmartGit使用说明与建议
  16. 查看端口号根据pid号找到相关占用端口应用
  17. 纯web实现游记类手机端应用
  18. 泛型 Generic 类型擦除引起的问题及解决方法
  19. WCF-绑定模型(一)
  20. shell (check return of each line)(PIPESTATUS[@])and sudoer

热门文章

  1. NioEventLoopGroup源码分析与线程设定
  2. Composer教程
  3. 【python基础学习】基础重点难点知识汇总
  4. 在 RPA10.X 运行异常,RPA9 却正常的问题处理
  5. Android ConstraintLayout 小记
  6. 如何使用phantomJS来模拟一个HTML元素的鼠标悬停
  7. NodeJs FS 文件系统模块
  8. 【大数据】Spark On Yarn
  9. 查看apache httpd server中加载了哪些模块
  10. Fiddler抓包_次要功能和第三方插件