2

我有一个主要项目和一些较小的子项目。较小的项目包含一个自包含的 Cocos2d 应用程序和一个仅包含与主项目相关的类的静态库(子项目都使用 Cocos2D 框架)。主项目依赖于静态库。我认为这种方法在理论上是合理的,但在实践中它是行不通的。

我看到的症状如下:当代码作为主项目的一部分执行时,预处理器值起作用。当我运行子项目的应用程序时,它按预期运行。

我已经-all_load在主目标中设置了链接器选项。这是因为子项目中的类只在 nib 文件中提及。如果没有-all_load将类从主要目标中“优化”出来,因为编译器会错误地确定代码是多余的。

我已将所有子项目链接到他们需要的 .frameworks。

这是可以修复的还是这种方法注定要失败?如果没有静态库,我还能如何管理这些项目?其他开发人员在子项目上工作,静态库方法可以防止我们互相干扰。

更新

回读那个问题让我觉得我应该早点休息一下!这个问题并没有很好地解释这个问题(或者说很有意义!)。问题涉及到如何使用子项目来组织代码。我现在几乎解决了这个问题。当我完全解决它时,我可能会写一篇博客文章。

4

1 回答 1

0

由于静态库最终会“嵌入”到您的可执行文件中,因此您无需担心它们的链接,就像您需要可执行文件一样。

只需设置项目依赖项,以便首先构建依赖框架(以便正确填充 .framework/Headers 文件夹),然后是库,然后是您的应用程序。我已经在多个应用程序中成功地做到了这一点。

于 2011-07-08T00:46:36.627 回答