首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将第三方静态库链接到静态库的测试目标结果的未定义符号错误

将第三方静态库链接到静态库的测试目标结果的未定义符号错误
EN

Stack Overflow用户
提问于 2018-04-19 08:28:33
回答 1查看 453关注 0票数 3

我正在做一个模块化的项目,这个项目是由静态库模块构建的。每个静态库都有一个xctest包。该项目还具有静态的第三方依赖关系(例如Swinject)

Mach-O类型在测试目标的构建设置中是"Bundle“。第三方框架被添加到主要目标上的“链接框架和库”中,也添加到我们的静态库中的测试包中,框架搜索路径也被正确地设置在这两个方面。

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

架构的未定义符号x86_64:"__T08Swinject9ContainerCMa",引用自:__T08Swinject9ContainerCSgMa中的MyClassTests.ld:符号(S)找不到的架构x86_64 clang:错误:链接器命令失败,退出代码1(使用-v查看调用)

因此,根据我的理解,第三方框架与测试目标的链接方式与与主要目标的链接方式相同,但是构建在测试包上的方法并不有效。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2018-04-29 22:20:27

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49916263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档