在Xcode 4中,CHDataStructures.framework不会为iOS编译

时间:2011-03-24 12:07:37

标签: xcode ios compilation chdatastructures

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

Xcode build errors

有人能给我一些如何编译它的想法吗?

1 个答案:

答案 0 :(得分:4)

作为框架的作者,当Dave DeLong以我的方式通过此链接时,我很感兴趣。

由于Xcode 4的原因,这不是因为iOS 4.3 SDK的变化(顺便提一下,10.7 SDK也是如此)。我正在使用OBJC_EXPORT宏和__attribute__((visibility("hidden")))(为此我定义了一个名为HIDDEN的宏)。这不是一个问题,直到4.3 / 10.7改变了OBJC_EXPORT/usr/include/objc/objc-api.h宏的定义......

以前,它被定义为OBJC_EXTERN,但现在它被定义为OBJC_EXTERN OBJC_VISIBLE,后者解析为OBJC_EXTERN __attribute__((visibility("default")))。因此,我使用HIDDEN OBJC_EXPORT的声明突然开始解决:

__attribute__((visibility("hidden"))) OBJC_EXTERN __attribute__((visibility("default")))

基本上,相反的可见性属性是错误的原因。 (准备好了,打架!)

我刚刚测试并提交了一个修补程序,用HIDDEN OBJC_EXPORT替换HIDDEN。显然,这些符号不需要被声明为extern,因为它没有那些宏。

因此,对您的问题的简短回答是:更新到修订版710.; - )