0

我写了一个使用插件的应用程序,一切都很好,我用 Xcode 的包模板制作了我的插件。

现在,我需要编写一个依赖于另一个插件的插件,假设插件 A 依赖于插件 B。

我试图通过将插件 A 与插件 B 添加到项目中来链接插件 A(将二进制文件与库链接),但这不起作用(尝试使用完整的包和包内的插件对象文件)。

我目前发现的唯一方法是将插件 B 的源文件添加到插件 A 中,但这很糟糕,因为在应用程序中,插件 A 和 B 都包含相同的代码(X 类在 Y 和 Z 中都实现。其中之一这两个将被使用。哪个是未定义的)。

我该如何实施?谢谢

4

1 回答 1

0

好的,我找到了实现这一目标的方法。

只需复制或引用我需要的类的标头,然后按以下形式使用 -U 链接器标志(在“其他链接器标志”选项中):

-Wl,-U -Wl,_OBJC_CLASS_$_NameOfTheClass

(需要 Wl 选项,请看这里为什么: http: //www.cocoabuilder.com/archive/xcode/264371-ld-undefined-symbols-argument-is-ignored.html

类的 -U 标志允许在没有类定义的情况下进行编译。

有了它,我可以编译插件而无需复制我所依赖的插件代码。

于 2013-05-29T17:43:20.443 回答