致使出現異常的緣由是是由於工程中添加了某(第三方開源庫)html
通常狀況下出現「Unknown type name」是頭文件互相引用出現的,這裏能夠排除,因爲源碼使用是c\c++與oc混編,c++
考慮新的XCode編譯文件類型致使的,嘗試了幾種方案,下面三種能夠解決問題。框架
解決方案一:ide
選擇全部.c文件,將屬性的 identity and type 改成Objective-C Source。ui
解決方案二:htm
選擇全部.c文件,將.c修改成.mblog
解決方案三:ip
將Compile Sources As 改成 Objective-C++get
另外,添加第三方庫通常步驟分三步:源碼
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的時候報錯,參考這個修改不報錯了