2012-09-23 7 views
31

Üçüncü parti bir kütüphanenin geliştiricisiyim ve kütüphanemi armv7'ler için yeniden derlemek istiyorum, ancak sorunum var gibi görünüyor.Armv7s - cputype (12) ve cpusubtype (11) için Kütüphane Derleme Kütüphane (11)

xcode to 4.5 sürümünü güncelledim. armv7 armv7s geçerli mimarisine sahip olmak için projeyi ve ilgili hedefleri güncelledim. I file veya lipo -info çalıştırmak

Bununla birlikte,

  • i386
  • ARMv7
  • (cputype (12) cpusubtype (11))

Resim armv7s listeler. Bir şey mi eksik?

+2

En iyi tahminle lipo armv7s bilmediği olmasıdır. Belki de yol/to/xcode/Geliştirici/Platformlar/iPhoneOS.platform/Geliştirici/usr/bin/lipo daha iyi çalışır mı? –

cevap

62

Kullanım Xcode en lipo:

xcrun -sdk iphoneos lipo 
+1

Olması gerektiği gibi görünüyor: xcrun -sdk iphoneos lipo -info myLibrary.a –

+0

Teşekkürler! Bu benim için hile yaptı. "Normal" lipo, armv7'leri (cputype (12) cpusubtype (11)) olarak tanımlar. Yani bu lipoyu "-thin armv7s" ile çalıştırmaya çalışırsanız, bir hata atılır. – runamok

1

lipo armv7s için bir tanıma sahip değil ve bu nedenle yalnızca cpu türü ve alt tür adını göremiyorsunuz. Bu şişman ikili tamam, sadece el ile yeni mimariyi karıştırmak istiyorsak elma güncellemelerini beklemek zorunda kalabiliriz (örneğin şu anda ince ikili bir şişman ikili içine manuel birleştirmek için bir yolu yoktur).

17

Görünüşe göre, (cputype (12) cpusubtype (11)) armv7s için başka bir isimlendiricidir.

Burada daha başvurabilirsiniz: http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

yukarıdaki blog aynı zamanda bazı kütüphaneler uyumlu inşa armv7s yapmak için bir yöntem tarif etmektedir. Yukarıdaki açıklama, file komutunun çıktısını açıkladığı makalenin sonuna yakındır. (Mach-O başlık olarak da adlandırılır) bu başlık içinde

işlemci Çeşidi ve CPU alt tipi için bir alan:

bunun bir parçası için bilinmektedir. ARM işlemci tipi 12'dir, ARMv7 işlemci alt tipi 9 ve armv7s olan CPU alt tip 11 olduğunu