问题描述 :引用了一个第三方库,结果报一大堆的错。
解决思路:
一般情况下出现“Unknown type name”是头文件互相引用出现的,这里可以排除,由于源码使用是c\c++与oc混编,
考虑新的XCode编译文件类型导致的,尝试了几种方案,下面三种可以解决问题。
解决方案一:
选择所有.c文件,将属性的 identity and type 改为Objective-C Source。
解决方案二:
选择所有.c文件,将.c修改为.m
解决方案三:
将 build settings 里 Compile Sources As选项改为Objective C++
方案三由于修改所有文件的编译类型,所有可能会导致其他包括c、c++代码的提示错误,不过都是些的提示异常,按提示修改即可。
另外,添加第三方库一般步骤分三步:
1)拖入库文件夹,copy一份加入自己的项目
2)添加库所需要的框架或者动态链接库
3)ARC下修改编译属性 -fno-objc-arc
注意:很多库都是是C OC C++文件混编,pch里面自加的头文件是全局性的,当在C文件import时其实是没有意义的,也就是问题出处,所以要ObjC区分开编译,说明如下:
在所在项目pch文件中,把自己所#import的头文件做如下操作
#ifdef __OBJC__
#import
#endif