我下载了CHDataStructures源代码(r709),尝试在xCode 4下编译iOS静态库,编译时报错:
谁能给我一些想法如何编译它?
我下载了CHDataStructures源代码(r709),尝试在xCode 4下编译iOS静态库,编译时报错:
谁能给我一些想法如何编译它?
作为该框架的作者,当 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。;-)