簡體   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