【问题标题】:What's the difference between a Cocoa framework and a C static library?Cocoa 框架和 C 静态库有什么区别?
【发布时间】:2011-10-09 21:43:15
【问题描述】:

有人可以向我解释一下 Cocoa 框架和 C 静态库之间的根本区别吗?

特别是,我发现在这两种情况下,我都必须在 Xcode 中的目标的“使用库链接二进制文件”部分中引用文件(.framework 或 .a)。

但是,我似乎不必将 .a 放在“复制文件”中。我只需要将 .framework 放入“复制文件”中。造成这种差异的原因是什么?

【问题讨论】:

    标签: objective-c xcode cocoa


    【解决方案1】:

    static library 实际上被编译为您的应用程序的一部分,而框架与您的应用程序一起分发(或系统框架已经存在)并动态链接。另见this question

    【讨论】:

    • 谢谢。但是.dylib 呢?这些必须放入“复制文件”构建阶段,对吗?但是,是否应该将它们复制到“Frameworks”文件夹中?当遇到函数调用时,应用程序如何知道在哪里查找 .dylib 和 .framework 文件,否则它无法找到?
    • 一个dylib也是动态链接的。函数调用在编译时(链接器运行时)解析。
    猜你喜欢
    • 2019-02-21
    • 2022-10-13
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 2011-05-27
    • 2013-12-12
    • 2012-09-12
    相关资源
    最近更新 更多