【问题标题】:How to statically link a Swift framework to a Swift framework?如何将 Swift 框架静态链接到 Swift 框架?
【发布时间】:2022-12-30 14:31:09
【问题描述】:

我有 2 个框架,它们都是 Swift 静态链接框架。

这意味着对于两个目标,我的Mach-O Type 都是Static Library

其中一个目标 (A) 依赖于另一个目标 (B)。

我成功存档A,然后我成功存档B,链接到A。嵌入已启用,但我似乎没有在导出的构建工件中找到任何 A 的提及。

但是,当我在另一个目标中导入存档和导出 B 时,它会给我一个编译错误:

ld: warning: Could not find or use auto-linked framework 'A'
Undefined symbols for architecture x86_64:
  "A.someMethodInsideA() -> Swift.Int", referenced from:
  B.someMethodInsideB() -> Swift.Int in B(B.o)
ld: symbol(s) not found for architecture x86_64

你看,我将 A 的 Mach-O Type 设置为 Static Library,所以我希望 A 的二进制文件通过静态链接完全嵌入到 B 中,但由于某种原因这并没有发生。

如何在静态框架中嵌入静态框架?

【问题讨论】:

    标签: swift xcode frameworks clang static-linking


    【解决方案1】:

    我会尝试在 xcode 中设置以下标志:

    -Xlinker -undefined -Xlinker dynamic_lookup

    问候。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 2018-12-01
      • 2019-10-30
      • 1970-01-01
      • 2015-09-17
      相关资源
      最近更新 更多