我写了一个使用插件的应用程序,一切正常,我使用Xcode的包模板制作了插件。
现在,我需要编写一个依赖于另一个插件的插件,假设插件A依赖于插件B。
我试图通过将插件A添加到项目(链接二进制文件库)来链接插件A,但这不起作用(尝试使用完整的包和插件中的插件对象文件)。
我目前找到的唯一方法是将插件B的源文件添加到插件A中,但这很糟糕,因为在应用程序中,插件A和B都包含相同的代码(类X在Y和Z中都实现将使用其中一个。未定义哪个。)
我该如何实现?谢谢
答案 0 :(得分:0)
好的,我找到了实现这一目标的方法。
只需复制或引用我需要的类的标头,然后使用-U链接器标志(在Other Linker Flags选项中),格式如下:
-Wl,-U -Wl,_OBJC_CLASS _ $ _ NameOfTheClass
(需要Wl选项,请参阅此处原因:http://www.cocoabuilder.com/archive/xcode/264371-ld-undefined-symbols-argument-is-ignored.html)
类的-U标志允许在没有类定义的情况下进行编译。
有了这个,我可以编译插件而不复制我依赖的插件代码。