CHDataStructures.framework赢得';无法在Xcode 4中编译iOS

CHDataStructures.framework赢得';无法在Xcode 4中编译iOS,xcode,ios,compilation,chdatastructures,Xcode,Ios,Compilation,Chdatastructures,我下载了CHDataStructures源代码(r709),并尝试在xCode 4下编译iOS静态库。它在汇编时抱怨说: 有谁能给我一些如何编译它的想法吗?作为框架的作者,当Dave DeLong将此链接传递给我时,我很感兴趣 事实证明,这不是因为Xcode 4,而是因为iOS 4.3 SDK(顺便说一句,还有10.7 SDK)中的更改。我使用了OBJC\u导出宏和\u属性((可见性(“隐藏”))(为此我定义了一个名为隐藏)的宏)。直到4.3/10.7在/usr/include/OBJC/OB

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


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

作为框架的作者,当Dave DeLong将此链接传递给我时,我很感兴趣

事实证明,这不是因为Xcode 4,而是因为iOS 4.3 SDK(顺便说一句,还有10.7 SDK)中的更改。我使用了
OBJC\u导出
宏和
\u属性((可见性(“隐藏”))
(为此我定义了一个名为
隐藏
)的宏)。直到4.3/10.7在
/usr/include/OBJC/OBJC api.h
中更改了
OBJC_EXPORT
宏的定义,这才算是一个问题

以前,它被定义为
OBJC\u EXTERN
,但现在它被定义为
OBJC\u EXTERN OBJC\u VISIBLE
,解析为
OBJC\u EXTERN\u属性((可见性(“默认”))
。因此,我使用
隐藏OBJC_EXPORT
的声明突然开始解析为:

__attribute__((visibility("hidden"))) OBJC_EXTERN __attribute__((visibility("default")))
基本上,相反的可见性属性是错误的原因。(准备战斗!)

我刚刚测试并提交了一个修复程序,它将
隐藏的OBJC\u导出
替换为
隐藏的
。显然,这些符号不需要声明为
extern
,因为它在没有这些宏的情况下工作


所以,对你的问题的简短回答是:更新到第710版

哈哈,谢谢奎因!!!你能感谢我在iOS 4.3上测试它并发现这个问题吗??的确,非常感谢!如果您发现任何其他问题,请随时给我发电子邮件。当然,只是开玩笑说谢谢。谢谢你开发这个,因为它非常有用。Quinn Taylor,我不知道如何与你联系,好像下载服务器关闭了?我现在无法从中访问任何内容。有人能告诉奎因吗?他的电子邮件也不起作用。你是对的,服务器现在停机了。我还没有找出原因,它处于另一种状态。:-/我的电子邮件工作正常,你可以在