【发布时间】: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