繁体   English   中英

iOS中的静态框架和链接

[英]Static Framework in iOS and linking

我有一个xcode工作区,该工作区由一些依赖于Boost 1_49(作为iOS框架构建)的项目库设置,是一个静态框架(来自https://github.com/kstenerud/iOS-Universal-Framework的Fake框架) ),然后是使用静态框架的测试应用。

测试应用程序还使用Boost。

我想做一些测试,看看是否有可能让测试应用程序在与框架不同的Boost版本上工作。 这样,我们可以将框架作为独立框架交付,而对使用框架的应用程序中需要使用的boost版本没有任何限制。

因此,我将测试应用设置为使用boost 1_48,将框架使用1_49。 我已经设置好了,以便所有设置使用boost的项目都将boost框架链接到二进制文件中,而我所拥有的框架项目实际上根本没有引用boost。 它仅引用由其依赖项生成的所有.a库。

项目A
-Boost.framework 1_49

项目B

我的框架
-ProjectA.a
-ProjectB.a

测试应用
-MyFramework.framework-Boost.framework 1_48

然后,我在框架和测试应用程序中添加了一些代码以打印出增强版本。 两个地方都打印出版本1_49,而不是版本1_48。 此外,我尝试在测试应用程序中添加一些代码以进入增强功能(例如仅获取当前时间),而xCode调试器将我带入ProjectA中包含的增强版本中,而不带我进入了ProjectA中包含的增强版本中。 TestApp。

链接发生了什么,如何使应用程序仅使用TestApp中包含的boost版本?

谢谢,
里龙

似乎问题在于应用程序中的其他一些库也在Boost 1.49中进行了链接,因此即使我以为使用1.48,也存在1.49。 那好吧。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM