ios 重复引用 静态库_iOS-如果静态库(.a)包含重复的目标文件(.o),会发生什么?
AFAIK,較舊版本的Xcode如果鏈接了多次,則無法鏈接靜態(tài)庫.我認(rèn)為存在一種重復(fù)的目標(biāo)文件或符號問題.
最近,我意識到Xcode5不再在靜態(tài)庫的重復(fù)鏈接上報(bào)告相關(guān)錯(cuò)誤.這是我的測試.
>我寫了3個(gè)Objective-C類,在單獨(dú)的項(xiàng)目中分別命名為s1,s2,s3.
>每個(gè)都被編譯成s1.o,s2.o,s3.o,
>并最終存檔到s1.a,s2.a,s3.a.
> s2與s1鏈接(合并),而s3與s2和s1鏈接(合并).
終于我得到了這些.a文件.
Eonil$ar -tv libs1.a
rw-r--r-- 501/20 64 Aug 3 18:38 2014 __.SYMDEF SORTED
rw-r--r-- 501/20 5528 Aug 3 18:38 2014 s1.o
Eonil$ar -tv libs2.a
rw-r--r-- 501/20 120 Aug 3 18:38 2014 __.SYMDEF SORTED
rw-r--r-- 501/20 5872 Aug 3 18:38 2014 s2.o
rw-r--r-- 501/20 5528 Aug 3 18:38 2014 s1.o
Eonil$ar -tv libs3.a
rw-r--r-- 501/20 224 Aug 3 18:38 2014 __.SYMDEF
rw-r--r-- 501/20 5872 Aug 3 18:38 2014 s3.o
rw-r--r-- 501/20 5528 Aug 3 18:38 2014 s1.o
rw-r--r-- 501/20 5872 Aug 3 18:38 2014 s2.o
rw-r--r-- 501/20 5528 Aug 3 18:38 2014 s1.o
那些相同的.o文件都是重復(fù)的.
我編寫了一個(gè)p1項(xiàng)目,該項(xiàng)目是命令行可執(zhí)行文件,并將其與所有s1.a,s2.a,s3.a鏈接.我預(yù)計(jì)會有一些復(fù)制錯(cuò)誤,但它只是構(gòu)建并運(yùn)行良好!
這些重復(fù)的靜態(tài)庫鏈接在Xcode中發(fā)生了什么?
總結(jié)
以上是生活随笔為你收集整理的ios 重复引用 静态库_iOS-如果静态库(.a)包含重复的目标文件(.o),会发生什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟磁盘类型_一起来了解一下Window
- 下一篇: ue4材质节点怎么用_UE4材质教程