【问题标题】:CHDataStructures.framework won't compile for iOS in Xcode 4CHDataStructures.framework 不会在 Xcode 4 中为 iOS 编译
【发布时间】:2023-03-28 06:53:01
【问题描述】:

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

谁能告诉我如何编译它?

【问题讨论】:

    标签: xcode ios compilation chdatastructures


    【解决方案1】:

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

    事实证明,这不是由于 Xcode 4,而是由于 iOS 4.3 SDK(顺便提一下,10.7 SDK)的变化。我将OBJC_EXPORT 宏与__attribute__((visibility("hidden"))) 一起使用(为此我定义了一个名为HIDDEN 的宏)。这不是问题,直到 4.3/10.7 更改了 /usr/include/objc/objc-api.hOBJC_EXPORT 宏的定义...

    之前定义为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。;-)

    【讨论】:

    • 大声笑,谢谢奎恩!!!您能否感谢我在 iOS 4.3 上对其进行测试并发现此问题?大声笑
    • 确实,非常感谢!如果您发现任何其他问题,请随时给我发电子邮件。
    • 当然,只是开玩笑说感谢。感谢您开发它,因为它非常有用。
    • Quinn Taylor,不知道怎么联系你,下载服务器好像宕机了?我现在无法从中访问任何内容。谁能告诉奎因?他的电子邮件也不起作用。
    • 您是正确的,服务器目前已关闭。我还没有找出原因,它处于另一个状态。 :-/ 我的电子邮件工作正常,您可以通过about.me/quinntaylor找到我
    猜你喜欢
    • 1970-01-01
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    相关资源
    最近更新 更多