【问题标题】:How to add existing Library to my iPhone project如何将现有库添加到我的 iPhone 项目
【发布时间】:2011-04-30 16:29:17
【问题描述】:

所以,这不是一个非常复杂的问题,但因为在需要您的建议之前我从未这样做过。

我有我的主项目,其中包括另外 2 个子项目,它们生成主项目使用的静态库。 现在,我想在我的项目中添加一个 Loggin 框架,并且我希望能够在我的主项目和我的静态库中使用它。 如您所见here,这并不难,只需要包含3个文件。

但是,我不确定最好的方法是什么。 将这 3 个文件添加到每个项目中可能会导致符号重新定义。 仅添加一个静态库是不够的,除非我让另一个依赖于它,这在逻辑上并不完全正确。 我可能可以从这 3 个文件中创建另一个静态库项目,并让我的项目和我的其他 2 个子项目依赖它,但这感觉有点过头了。

这里最好的做法是什么?

谢谢!

【问题讨论】:

    标签: iphone objective-c xcode ios4 xcode4


    【解决方案1】:

    将这些文件放在另一个单独的库或框架中是我的选择。

    如果你真的需要在静态库中预编译你的子项目,你或许应该重新考虑(这对你有什么好处?它们真的那么大,不时重新编译它们很麻烦吗?)。

    包含所有内容的单个 Xcode 项目可能是一个更好的解决方案,这也是我现在通常喜欢的解决方案。这样你也不必担心你的库中缺少架构,或者用编译器版本编译了库,用另一个编译器编译了主项目,库中的错误可以更容易地调试和跟踪等等……

    【讨论】:

    • 原因从来没有节省编译时间,将这些子项目作为源文件放在 1 个主项目中不会产生任何编译开销,因为除非文件被更改,否则它们不会再次编译,如果他们确实改变了他们(或静态库)无论如何都必须重新编译。纠正我如果我在这里错了,我错过了一些东西。分离的主要原因是我的 iPhone 和 Mac 应用程序都使用了这两个静态库。
    • 此外,它是一个单独的逻辑,也可以应用于我可能拥有的任何未来项目。无论如何,很遗憾我不得不为这 3 个文件创建另一个静态库子项目。希望另一个建议会弹出。
    • @Julio - 因为有时您可能希望一个项目使用与另一个项目不同的编译器设置。例如c++11
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2021-07-07
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多