2012-09-23 10 views
31

Sono uno sviluppatore di una libreria di terze parti e mi piacerebbe ricompilare la libreria per armv7s, ma sembra che ci siano problemi.Libreria di compilazione per armv7s - cputype (12) e cpusubtype (11)

Ho aggiornato xcode a 4.5. Ho aggiornato il progetto e gli obiettivi correlati per avere architetture valide di armv7 armv7s.

Tuttavia, quando ho eseguito file o lipo -info, elenca

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

Nessun armv7s. Mi sto perdendo qualcosa?

+2

La mia ipotesi migliore è che lipo non conosce armv7s. Forse il percorso/per/xcode/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo funzionerà meglio? –

risposta

62

lipo Usa XCode:

xcrun -sdk iphoneos lipo 
+1

Sembra che dovrebbe essere: xcrun -sdk iphoneos lipo -info myLibrary.a –

+0

Grazie! Questo ha fatto il trucco per me. Il lipo "normale" identifica armv7s come (cputype (12) cpusubtype (11)). Quindi se provi a eseguire quel lipo con "-thin armv7s" verrà generato un errore. – runamok

1

lipo non ha una definizione per armv7s ed è per questo che non è possibile visualizzare il nome ma solo il tipo di CPU e il sottotipo. Quindi questo fat binario è ok, potremmo dover aspettare che Apple aggiorni i suoi strumenti se vogliamo fare un pasticcio con la nuova architettura manualmente (per esempio adesso non c'è modo di unire manualmente binario slim armv7s in un fat binario).

17

Apparentemente, (cputype (12) cpusubtype (11)) è un'altra nomenclatura per armv7s.

È possibile fare riferimento più qui: http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

È possibile che questo blog descrive anche un metodo per fare alcune librerie armv7s costruire compatibili. La descrizione di cui sopra si trova vicino alla fine dell'articolo in cui spiega l'output del comando file.

Per citare una parte di esso:

All'interno di questa intestazione (chiamato un colpo di testa Mach-O) è un campo per il tipo di CPU e il sottotipo CPU. ARM è tipo di CPU 12, ARMv7 è CPU sottotipo 9 e armv7s è CPU sottotipo 11.

Problemi correlati