AVISO: Cualquier pregunta que no cumpla ninguno de estos criterios podrá ser borrada sin previo aviso.

Hola,

Me han pasado el codigo de un proyecto en el cual han agregado una librería estática con el .a y los .h. El problema es que a la hora de compilar me salta un warning

Ignoring file ruta/libreria.a, missing required architecture i386 in file

Y los errores correspondientes en las zonas donde utiliza dicha librería.

He estado buscado y al parecer la librería debe estar compilada tanto para el simulador como para el dispositivo. Yo quiero ejecutarla en el simulador. ¿Puede ser que al no estar bien compilada no funcione en el simulador y solo este preparada para ejecutcar en dispositivos?¿Como puedo solucionarlo?

Muchas gracias.

preguntado 19 Sep '11, 16:18

Rastlein's gravatar image

Rastlein
418914


Te salta ese error porque la librería no está compilada para la arquitectura i386 (la que usa el simulador). Por lo que te funcionará en el dispositivo pero petará en el simulador. Puedes solucionarlo compilando otra versión para el simulador. O construir una librería universal (fat library) que incluya en uno mismo varias arquitecturas. Pero para todo eso necesitarás acceso al código fuente :-)

enlace permanente

respondido 19 Sep '11, 16:26

Aram's gravatar image

Aram
1.1k321

Muchas gracias. Me estaba volviendo loco buscando como arreglarlo. Por desgracia no dispongo del código fuente...

(19 Sep '11, 16:35) Rastlein
1

Si dispones de las dos versiones de la librería (i386 y armv7) puedes unirlas utilizando lipo -arch i386 libfoo-i386.a -arch armv7 libfoo-armv7.a -output libfoo.a

(19 Sep '11, 23:53) YoNoSoyTu
Tu respuesta:
Activar/desactivar vista previa

Sobre esta pregunta

Etiquetas de la pregunta:

×9

Pregunta realizada el: 19 Sep '11, 16:18

Pregunta visitada: 500 veces

Última modificación: 19 Sep '11, 23:53

Seguir esta pregunta

Por Email:

Una vez que entres podrás suscribirte desde aquí para recibir actualizaciones

Por RSS:

Respuestas

Respuestas y Comentarios

Realizar Donación