ld: biblioteca no encontrada para -lcrt1.3. 1.o error al ejecutar la aplicación en el dispositivo con xcode 8.0 con iOS10


Después de actualizar xcode a 8.0, mi proyecto de aplicación se compila con error para el objetivo del dispositivo, pero se compila con éxito para el simulador.

El error es como:
ld: biblioteca no encontrada para -lcrt1.3. 1.o

¿Cuál es la solución para este error.

Author: Sandip Patel - SM, 2016-09-22

4 answers

Después de pasar mucho tiempo, finalmente obtuve la razón de este error.

Error: ld: biblioteca no encontrada para-lcrt1.3.1.o

Solución: Si el origen del proyecto tiene un destino de implementación de iOS 5.0, cámbielo a iOS 6.0 o posterior y el error se corregirá. Ahora que funciona bien para el dispositivo también.

¡Hurra!!!

 50
Author: Sandip Patel - SM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-22 06:55:58

crt1.3.1.o es una biblioteca que se incluyó en iOSes más antiguas (y por lo tanto, sus SDK), pero ya no está presente en SDK más nuevos.  Sin embargo, cuando el destino de implementación del proyecto se establece en un iOS anterior (

Para seguir soportando iOS 5.x en Xcodes más nuevos, solo se necesita copiar crt1.3.1.o de un Xcode anterior al directorio …/usr/lib/ apropiado en el Xcode más nuevo.  Xcode solo usará crt1.3.1.o si el Destino de implementación es crt1.3.1.o permanece sin usar y el binario enlazado resultante es idéntico a lo que era antes de la adición de…/usr/lib/crt1.3.1.o.

Para obtener un nuevo Xcode para vincular correctamente un proyecto con un iOS 5.x Destino de despliegue:

  1. Descargue un Xcode anterior que todavía tiene crt1.3.1.o de https://developer.apple.com/downloads/.

    Usé Xcode 5.1.1, aunque cualquier Xcode que tenga iOS 5.x soporte debe funcionar (que, de acuerdo con Wikipedia debe ser Xcode 4.2-6.4).

  2. Abra el Xcode .dmg y en la imagen de disco, ubique el archivo en /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS….sdk/usr/lib/crt1.3.1.o.

    Desde que usé Xcode 5.1.1, el mío estaba en …/iPhoneOS7.1.sdk/usr/lib/crt1.3.1.o.

  3. Copie al mismo directorio Xcode.app-relative en su nuevo Xcode: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/crt1.3.1.o.

    My newer-Xcode en el momento de escribir es la última versión, Xcode 8.1 (que incluye el SDK de iOS 10.1 y compatibilidad con el simulador de iOS descargable 8.1).


Tenga en cuenta que deberá volver a realizar estos pasos después de cada actualización de Xcode, ya que el proceso de actualización estándar de Xcode es simplemente eliminar Xcode.app y todo lo que contiene con el Xcode.app actualizado.

También tenga en cuenta que he probado con éxito esto usando Xcode 8.1 para producir una aplicación con un destino de implementación de iOS 5.0 que se ejecutará en mi iOS 10.1.1 iPad Air 2 y mi iOS 6.1.3 iPhone 4S. proceso a la tienda de aplicaciones de iOS.  Si bien es poco probable que la certificación de Apple tendría un problema con este (ya que es después de todo su propia biblioteca iOS crt1.3.1.o; y ya que no hay otra manera de construir una aplicación contra el SDK más reciente, mientras que todavía es compatible con iOS de nuevo a 5.x, que es casi seguro que algunos clientes empresariales todavía están haciendo), no puedo hacer una promesa firme aquí.

 17
Author: Slipp D. Thompson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-30 08:54:12

Elimine las líneas-lPods-(someCocoaPod) en la lista 'Other Linker Flags' PERO solo si $(heredado) está en la parte superior. Al principio no estaba seguro, pero la señal tranquilizadora era que todavía veía referencias a mis cocoapods cuando dejé el modo de edición(heredado). Probé en debug y release, los cuales me estaban dando errores, y el problema se resolvió inmediatamente

 0
Author: Deepak Saki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-23 12:52:53

En lugar de usar las bibliotecas de una instalación anterior de Xcode, también puede recompilarlas desde fuentes: https://github.com/mringwal/csu-ios

 0
Author: mringwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-14 12:54:00