導致出現異常的原因是是因為工程中添加了某(第三方開源庫)
一般情況下出現“Unknown type name”是頭文件互相引用出現的,這里可以排除,由於源碼使用是c\c++與oc混編,
考慮新的XCode編譯文件類型導致的,嘗試了幾種方案,下面三種可以解決問題。
解決方案一:
選擇所有.c文件,將屬性的 identity and type 改為Objective-C Source。
解決方案二:
選擇所有.c文件,將.c修改為.m
解決方案三:
將Compile Sources As 改為 Objective-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的時候報錯,參考這個修改不報錯了