解決靜態(tài)庫沖突問題

最近在寫公司的智能家居項目時碰到靜態(tài)庫沖突問題,我和公司另外一個同事折騰了幾天終于弄出來了, 太坑人.......現(xiàn)在寫篇簡文記錄一下恤溶。

一乓诽,報錯現(xiàn)象

錯誤信息.png
11.png

二,問題分析

1- duplicate symbol咒程,重復(fù)的標(biāo)識符

原因:我這里是兩個靜態(tài)庫中都有GCDAsyncUdpSocket.o鸠天,一個項目里面不能包含類名一樣的文件

2-命名沖突

原因一:在aes256.o和aes.o中都有名為 _aes_encrypt(加密)和_aes_decrypt(解密)的方法,這里方法名稱沖突了帐姻。
原因二:可能會從這個靜態(tài)庫調(diào)到那個靜態(tài)庫 然后報linker錯誤

三稠集,解決方案

  1. 可以試著把other Link flag 改成 -force_load /Users/jss/Desktop/測試代碼/libKonkeSmartPlug.a 我這里用的絕對路徑做的測試 你們自己改成相對路徑就好了(這個意思是:各自的靜態(tài)庫加載各自的類不會出現(xiàn)從這個庫調(diào)用到那個類的庫)
運(yùn)行再報錯的話 那就只能用終端命名把靜態(tài)庫中相同的第三方庫給刪掉 然后再合并生成新的靜態(tài)庫
  1. 看步驟(終端命令)
    注意: 做這個操作的時候,把靜態(tài)庫單獨拷貝到一個新的文件夾進(jìn)行測試
    1. cd /Users/jss/Desktop/測試靜態(tài)庫
    2. ls (查看目錄下的文件)
    3. lipo -info EasyConfig.a(例如armv7,armv7s饥瓷,i386等)
    4. lipo EasyConfig.a -thin armv7 -output lbv7.a (分別把a(bǔ)rmv7,armv7s等等都寫一遍后面的.a 命名規(guī)范)
      5)再 ls 查看 (可以看到剛剛分出來的幾個.a)
    5. lipo -info lb* (注意命名 我這里.a都是lb開頭且都是四位)
    6. ar -d lb64.a GCDAsyncUdpSocket.o (armv7剥纷,armv7s等分別執(zhí)行一遍 目的是刪除)
  1. lipo -create lb64.a lb86.a lb38.a lb7s.a lbv7.a -output EasyConfig.a(重新合并 .a文件)
  2. cp EasyConfig.a /Users/jss/Desktop/測試代碼 (拷貝到項目中覆蓋源文件)
這里附上上面的終端操作的圖片:
終端命令.png

四,查看靜態(tài)庫包含哪些文件的命令如下:

  1. cd 文件路徑
  2. lipo -info EasyConfig.a
  3. mkdir armv7 (用來存放armv7平臺解壓后的.0文件: 目的也是為了看到某一個平臺里面所有的 .o 文件)
  4. lipo EasyConfig.a -thin armv7 -output lib.a (取出armv7 平臺的包)
  5. ar -t lib.a (查看庫中所包含的文件列表)
查詢靜態(tài)庫文件.png

五呢铆,總結(jié)

1.以后打包靜態(tài)庫的同志不要再坑隊友了,千萬別把第三方公用庫打在自己的包里
2.命名以后盡量規(guī)范,不然項目開發(fā)碰到的錯誤很難發(fā)現(xiàn)和解決
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晦鞋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悠垛,老刑警劉巖线定,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異确买,居然都是意外死亡斤讥,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門湾趾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芭商,“玉大人,你說我怎么就攤上這事搀缠☆蹰梗” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵胡嘿,是天一觀的道長蛉艾。 經(jīng)常有香客問我,道長衷敌,這世上最難降的妖魔是什么勿侯? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮缴罗,結(jié)果婚禮上助琐,老公的妹妹穿的比我還像新娘。我一直安慰自己面氓,他們只是感情好兵钮,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著舌界,像睡著了一般掘譬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上呻拌,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天葱轩,我揣著相機(jī)與錄音,去河邊找鬼藐握。 笑死靴拱,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的猾普。 我是一名探鬼主播袜炕,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼初家!你這毒婦竟也來了偎窘?” 一聲冷哼從身側(cè)響起乌助,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎评架,沒想到半個月后眷茁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡纵诞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了培遵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浙芙。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖籽腕,靈堂內(nèi)的尸體忽然破棺而出嗡呼,到底是詐尸還是另有隱情,我是刑警寧澤皇耗,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布南窗,位于F島的核電站,受9級特大地震影響郎楼,放射性物質(zhì)發(fā)生泄漏万伤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一呜袁、第九天 我趴在偏房一處隱蔽的房頂上張望敌买。 院中可真熱鬧,春花似錦阶界、人聲如沸虹钮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芙粱。三九已至,卻和暖如春氧映,著一層夾襖步出監(jiān)牢的瞬間春畔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工屯耸, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留拐迁,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓疗绣,卻偏偏與公主長得像线召,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子多矮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容