我下载了CHDataStructures源码(r709),并尝试在xCode 4下编译iOS静态库,编译时抱怨:

有没有人能告诉我怎么编译它?
发布于 2011-03-25 04:25:40
作为框架的作者,当Dave DeLong以我的方式通过这个链接时,我很感兴趣。
事实证明,这不是由于Xcode4,而是由于iOS 4.3SDK(顺便说一句,10.7SDK也是如此)的变化。我将OBJC_EXPORT宏与__attribute__((visibility("hidden")))一起使用(为此,我定义了一个名为HIDDEN的宏)。这不是一个问题,直到4.3/10.7在/usr/include/objc/objc-api.h中更改了OBJC_EXPORT宏的定义...
以前,它被定义为OBJC_EXTERN,但现在它被定义为OBJC_EXTERN OBJC_VISIBLE,解析为OBJC_EXTERN __attribute__((visibility("default")))。因此,我使用HIDDEN OBJC_EXPORT的声明突然开始解析为:
__attribute__((visibility("hidden"))) OBJC_EXTERN __attribute__((visibility("default")))基本上,相反的可见性属性是导致错误的原因。(准备好了,战斗吧!)
我刚刚测试并提交了一个用HIDDEN替换HIDDEN OBJC_EXPORT的修复。显然,这些符号无论如何都不需要声明为extern,因为它不需要那些宏就能工作。
因此,对您的问题的简短回答是:更新到版本710。;-)
https://stackoverflow.com/questions/5418832
复制相似问题