2012-09-23 18 views
31

Soy desarrollador de una biblioteca de terceros y me gustaría volver a compilar mi biblioteca para armv7s, pero parece que tengo problemas.Biblioteca de compilación para armv7s - cputype (12) y cpusubtype (11)

He actualizado xcode a 4.5. Actualicé el proyecto y los objetivos relacionados para tener arquitecturas válidas de armv7 armv7s.

Sin embargo, cuando corro file o lipo -info, enumera

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

No armv7s. ¿Me estoy perdiendo de algo?

+2

Mi mejor conjetura es que lipo no sabe nada de armv7s. Quizás path/to/xcode/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo funcionará mejor? –

Respuesta

62

lipo de Uso XCode:

xcrun -sdk iphoneos lipo 
+1

Parece que debería ser: xcrun -sdk iphoneos lipo -info myLibrary.a –

+0

¡Gracias! Esto hizo el truco para mí. La lipo "normal" identifica a armv7s como (cputype (12) cpusubtype (11)). Entonces, si intentas ejecutar esa lipo con el "-thin armv7s", se lanzará un error. – runamok

1

lipo no tiene una definición para armv7s y es por eso que no puede ver el nombre sino solo el tipo y subtipo de la CPU. Así que este binario gordo está bien, solo tendremos que esperar hasta que Apple actualice sus herramientas si queremos meternos con la nueva arquitectura manualmente (por ejemplo, ahora mismo no hay forma de combinar manualmente el binario delgado de armv7s en un binario gordo).

17

Aparentemente, (cputype (12) cpusubtype (11)) es otra nomenclatura para armv7s.

Puede consultar más información aquí: http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

El blog anterior también describe un método para hacer algunas bibliotecas armv7s construir compatibles. La descripción de arriba está cerca del final del artículo donde explica sobre la salida del comando file.

Para citar una parte de ella:

Dentro de esta cabecera (denominada cabecera Mach-O) es un campo para el tipo de CPU y el subtipo de la CPU. ARM es la CPU tipo 12, es ARMv7 subtipo CPU 9 y armv7s es subtipo de la CPU 11.

Cuestiones relacionadas