3 回答

TA貢獻1852條經(jīng)驗 獲得超7個贊
暫時擺脫arm64并不難。您需要做的只是:
編輯目標(biāo)的 “ 構(gòu)建設(shè)置”。Architectures通過打開下拉菜單來更改其值,單擊“ 其他...”,然后選擇它,刪除帶有值的行,$(ARCHS_STANDARD)并添加兩個帶有值的行:armv7和armv7s(或$(ARCHS_STANDARD_32_BIT)如 nschum所述),關(guān)閉彈出窗口。
編輯該值,Valid Architectures然后刪除其中的arm64一部分。
對您在工作區(qū)或項目中可能存在的每個嵌套項目執(zhí)行此操作。
注意:這不是解決方案,僅是減輕當(dāng)前問題的幾步,請繼續(xù)關(guān)注您的依賴項目,以了解它們具有arm64兼容性的情況,并盡快恢復(fù)這些設(shè)置的更改。

TA貢獻1840條經(jīng)驗 獲得超5個贊
從Xcode 5.1開始,$(ARCHS_STANDARD)現(xiàn)在包括arm64(以及armv7和armv7s),而在Xcode 5.02中,$(ARCHS_STANDARD)僅包括armv7和armv7s。
對于Xcode 5.1
$(ARCHS_STANDARD)= armv7 armv7s arm64
$(ARCHS_STANDARD_32_BIT)= armv7 armv7s
因此,如果必須以64位進行編譯,則需要確保所有包含的庫都具有64位分片。如果他們還不支持64位,那么您將不得不使用32位進行編譯。
但無論哪種情況,在目標(biāo)構(gòu)建設(shè)置下,都需要確保將架構(gòu)和有效架構(gòu)設(shè)置為相同且匹配(請參見下圖)。因此,您可以使用$(ARCHS_STANDARD)嘗試它們,如果不能編譯,則可以使用$(ARCHS_STANDARD_32_BIT)嘗試它們,從理論上講,它們將消除錯誤并編譯一個正在運行的項目。
--
對于具有arm64 armv7s和armv7的64位,如下所示:
或?qū)τ趦H帶armv7s和armv7的32位(不帶arm64),如下所示:
- 3 回答
- 0 關(guān)注
- 670 瀏覽
添加回答
舉報