gpt4 book ai didi

ios - 将 3rd 方静态库链接到静态库的测试目标结果的 undefined symbol 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:16 25 4
gpt4 key购买 nike

我正在开发一个模块化项目,该项目由作为静态库的模块构建而成。每个静态库都有一个 xctest 测试包。该项目还具有静态的第 3 方依赖项(例如 Swinject)

测试目标build设置中的 Mach-O Type 是“Bundle”。第 3 方框架被添加到主要目标上的“链接框架和库”以及我们静态库中的测试包中,框架搜索路径也在两者上正确设置。

然而,虽然在主要目标上构建成功,但当我尝试运行测试时,它会导致以下编译器错误:

架构 x86_64 的 undefined symbol : “__T08Swinject9ContainerCMa”,引用自: __T08Swinject9ContainerCSgMa 在 MyClassTests.old: 找不到体系结构 x86_64 的符号clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

所以最终在我的理解中,第 3 方框架以与链接到主要目标相同的方式链接到测试目标,但是在测试包上构建是行不通的。我错过了什么吗?

最佳答案

您的测试目标会自动链接到您的主要目标。但是测试目标引用的任何其他框架和库都必须显式链接。他们不是免费来的。

关于ios - 将 3rd 方静态库链接到静态库的测试目标结果的 undefined symbol 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49916263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com