2011-03-16 13 views
6

Parece que no puedo encontrar la respuesta.Error de Xcode 4 (versión final) al compilar

que he acabo de utilizar Xcode 4 versión final y construyó un proyecto existente que fue construida bien con Xcode 3, pero tengo este error:

ld: library not found for -lSystem.B 
collect2: ld returned 1 exit status 
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1  

Sin embargo, otro proyecto fue construido bien con Xcode 4.

Instalé Xcode 4 al elegir las opciones predeterminadas.

¿Extraño incluir una biblioteca o marco en alguna parte?

Podría alguien por favor ayuda. Gracias.

Respuesta

14

Aquí está mi solución para Xcode 4.0.2 con entorno SDK 4.3, pero creo que también debería funcionar en otras configuraciones.

  1. libSystem.B.dylib no está presente bajo /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib, sin embargo, está presente para inferior SDK versiones (por ejemplo iPhoneOS4.2.sdk)
  2. la mayoría de los casos libSystem.B.dylib es sólo un enlace simbólico a libSystem.dylib
  3. tan en iPhoneSimulator4.3.sdk/usr/lib He aplicado el siguiente comando sudo ln -s libSystem.dylib libSystem.B.dylib y mi simulador builds comenzó a trabajar de nuevo :)

NOTA:libSystem.B.dylib es utilizado por la ráfaga y Urban Airship así que es mejor no eliminar la referencia en el archivo de proyecto (por supuesto Urbano dirigible no funciona en simulador, pero Creo que Flurry sí. libSystem.B.dylib también puede ser requerido por otras bibliotecas que haya incluido en su proyecto.

ACTUALIZACIÓN: solución todavía trabaja para IOS5 Simulador después de actualizar a Xcode 4.3

UPDATE, 9 de marzo, 2K12: para instalaciones de Xcode a través de la App Store, prefijo anterior camino con /Applications/Xcode.app/Contents o la ruta en la que' he instalado Xcode.app.

+0

gracias por notificar esto. Hacer el enlace simbólico también me funciona. Podría ser un error con la versión de XCode ... – Tanto

+0

@Tanto: no hay problema, me gusta SO community :) Creo que mi solución es solo una solución que funciona en lugar de la solución real, que debe ser proporcionada por Apple en el siguiente Xcode lanzamientos. – matm

+0

Aún no se ha corregido en iPhoneSimulator 5.0, pero esta corrección funcionó para mí. –

1

Resuelto.

Resulta que había una referencia a libSystemB en mi proyecto (No sé por qué está allí). Después de eliminar la referencia, se construyó bien.

¡Gracias de todos modos chicos!

1

-weak_library /usr/lib/libSystem.B.dylib breaks the iOS Simulator. Use -weak-lSystem instead.

La cotización pertenece a gparker en los foros oficiales de desarrollo.

1

-weak_library /usr/lib/libSystem.B.dylib breaks the iOS Simulator. Use -weak-lSystem instead.

nicktmro lo hizo bien, especialmente cuando esté desarrollando proyectos Cocos2d utilizando Xcode 4.x

0

Tengo el mismo problema, ya que meses y siempre siguió haciendo el enlace simbólico como se describe aquí xCode cada vez que actualiza.Hoy he encontrado una nueva manera agradable para solucionar este problema:

En sus objetivos construir Fases van a 'Enlace Binario Con las bibliotecas' y la búsqueda de: libz.dylib

Conjunto de 'Requerido' a 'opcional'

BUILD

ser feliz

+0

también puede darme la solución para resolver en el dispositivo. porque está trabajando en el simulador pero no en el dispositivo – Poonam

Cuestiones relacionadas