0
我的SDK使用libssl.a庫,但是當我將它提供給客戶使用我的SDK時,它們也使用libssl.a的版本並導致重複的符號。無論如何都允許兩者共存?libssl.a在自定義iOS SDK庫中導致重複的符號/定義
謝謝
我的SDK使用libssl.a庫,但是當我將它提供給客戶使用我的SDK時,它們也使用libssl.a的版本並導致重複的符號。無論如何都允許兩者共存?libssl.a在自定義iOS SDK庫中導致重複的符號/定義
謝謝
一個選項是在每個符號上用自定義前綴重建libssl。我爲此寫了一個腳本,你可以找到here。
一個更簡單的選項可能是不鏈接到libssl.a,而是要求客戶鏈接到它。要做到這一點,只需像往常一樣使用#import
libssl的頭文件,但將libssl.a從鏈接二進制文件中退出並使用庫階段。除非目標是可執行文件,否則鏈接器不會嘗試解析符號,因此您可以在這種方式下編譯靜態庫而不會出現問題。
在編譯我的SDK期間,我不會鏈接庫?標誌是什麼? – mskw 2013-05-03 22:49:12
基本上你說我應該用libssl.a進行編譯,但不能鏈接它,我不知道這是如何工作的。 – mskw 2013-05-03 22:49:47
@mskw增加了一些信息 – 2013-05-06 13:44:41