试图理解为什么Swift代码编译但由于未定义的符号而无法链接

时间:2017-12-21 20:06:47

标签: swift xcode

由于未定义的符号,我遇到链接阶段失败的问题。我希望了解一般问题而不是我的特定设置的复制/粘贴解决方案。

假设我有2个框架和1个目标。框架B链接到框架A,目标链接仅与框架A链接。目标不直接与框架B链接。

包含“import A”的Swift文件成功编译,即使它们引用框架B中包含的对象。我猜这是因为A>之间的链接。当我导入A时,B使所有B都可用。

然而,在链接阶段,我得到框架B中包含的任何内容的未定义符号错误。在我的文件中添加“import B”将再次成功编译,但仍然会因相同的链接错误而失败。仅链接成功如果我直接链接目标框架B。

我希望两种方案中的任何一种都可以使用:

  1. 与框架A和“导入A”的链接也使链接阶段看到框架B中的符号

  2. 除非我直接链接到框架B并且“导入B”

  3. 有人可以说明这些场景中的哪一种是“正确”的,为什么?

    非常感谢!

0 个答案:

没有答案