iOS編譯庫(kù)文件時(shí)出現(xiàn)的問(wèn)題

1. 警告:directory not found for option “xxxxxxxx” 文件路徑未找到 **

  • 選擇工程, 編譯的 (targets)
  • 選擇 Build Settings 菜單
  • 查找 Library Search Paths 和 Framework Search Paths, 刪掉編譯報(bào)warning的路徑即OK
    詳細(xì)步驟圖文參考

2. missing required architecture i386 in file “xxxxxx/.a” 說(shuō)明你的這個(gè)library文件是為Device (ARM架構(gòu))設(shè)計(jì)的,不支持Simulator (i386架構(gòu))

相關(guān)知識(shí)
參考stackoverfollow
arm架構(gòu)問(wèn)題
手機(jī)的架構(gòu)是為arm架構(gòu)

  • armv6
    iPhone
    iPhone2
    iPhone3G
    第一代和第二代iPod Touch
  • armv7
    iPhone4
    iPhone4S
    armv7s
    iPhone5
    iPhone5C
  • arm64
    iPhone5S

現(xiàn)在app store規(guī)定提交的應(yīng)用必須包含arm64.

xcode里Architectures這個(gè)屬性

這是指你想支持的指令集,比如:armv7,armv7s,或者可以用$(ARCHS_STANDARD_32_BIT)這樣的參數(shù)

該編譯選項(xiàng)指定了工程將被編譯成支持哪些指令集,支持指令集是通過(guò)編譯生成對(duì)應(yīng)的二進(jìn)制數(shù)據(jù)包實(shí)現(xiàn)的,如果支持的指令集數(shù)目有多個(gè),就會(huì)編譯出包含多個(gè)指令集代碼的數(shù)據(jù)包,造成最終編譯的包很大。

xcode工程里有Build Active Architecture Only這個(gè)屬性

這個(gè)屬性設(shè)置為yes,是為了debug的時(shí)候編譯速度更快,它只編譯當(dāng)前的architecture版本。
而設(shè)置為no時(shí),會(huì)編譯所有的版本。

編譯出的版本是向下兼容的,比如你設(shè)置此值為yes,用iphone4編譯出來(lái)的是armv7版本的,iphone5也可以運(yùn)行,但是armv6的設(shè)備就不能運(yùn)行。

所以,一般debug的時(shí)候可以選擇設(shè)置為yes,release的時(shí)候要改為no,以適應(yīng)不同設(shè)備

library not found for -lMobClickLibrary

在other link flag 里刪除-l "MobClickLibrary"

我遇到的問(wèn)題

  1. 微信demo下載下來(lái)運(yùn)行出現(xiàn) missing required architecture i386 in file “xxxxxx/libWeChatSDK.a”問(wèn)題,用終端查看了一下這個(gè)庫(kù)文件只支持 armv7,arm64
在終端里查看你的.a庫(kù)是不是支持i386

解決方法:

  • 找找看有沒(méi)有支持i386的庫(kù)文件(下載SDK,要下載的sdk里面的那個(gè)libWeChatSDK.a才有支持i386的,里面有兩個(gè)文件夾 WeChatSDK_1.5WeChatSDK_1.5_OnlyIphone,選擇WeChatSDK_1.5)
    WeChatSDK_1.5

    有i386的libWeChatSDK.a
  • 使用真機(jī)測(cè)試

2.解決架構(gòu)問(wèn)頭后在工程里出現(xiàn)了以下問(wèn)題:
Undefined symbols for architecture x86_64:
"operator delete", referenced from:
+[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o)

屏幕快照 2014-12-11 下午3.43.16.png

解決方法:

  • 果斷加上libc++.dylib
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容