导入第三方库unknown type name 'NSString'解决
添加第三方库一般步骤分三步:
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区分开编译,这样总是就解决了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步