导入第三方库unknown type name 'NSString'的解决方案

在公司负责弹幕库,最近在发现core animation有些问题,想尝试下facebook 出的pop动画引擎。pop是一个objectviewc++和cpp的库,为了简单,我直接用了pop文件夹里面的文件,没有集成coacoapods。在demo工程中,我把弹幕sdk和pop文件夹放在了danmudemo工程的同一级目录,运行ok。如图


ok,现在我把pop文件夹集成到自己的弹幕sdk中,这时出现了一堆unknown type name 'nsstring'的错误。


很头疼,虽然将Compile Sources As 改为 Objective-C++这种方式很可行,但是会造成我的sdk里面其他报错需解决。找了很久,发现一个解决办法:http://stackoverflow.com/questions/19723392/adding-c-file-causes-pch-error

应该是pch文件预编译的问题,也就是说,把foundation以及uikit等oc的东西作为头编译进c/c++代码了。为了验证这个问题,我把facebook在github上的工程也添加了pch,并#import<Foundation/Foundation.h>,结果报错。尝试

#ifdef __OBJC__

#import<Foundation/Foundation.h>

#endif

可以run起来。然后我修改了自己的pch预编译方式。如图


建议把其他头文件里面的uikit和foundation引用可以去掉了。结果ok,正常编译运行。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,052评论 8 183
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,196评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,916评论 25 708
  • 2017年10月19日 晴 我前俯后仰失了分寸 哭花了阿布家的纸巾 为高跟鞋少点灰尘 蓄谋清扫长安郡 自然的血淌出...
    鲜栗子阅读 181评论 0 0
  • 1. 给当前域名设置授权在网页服务->网页帐号->网页授权获取用户基本信息 2.利用artisan生成UserCo...
    呦丶耍脾气阅读 347评论 0 0