error al importar zlib en iOS: símbolo(s) no se ha encontrado collect2: ld

He incluido <zlib.h> en mi iphone la aplicación y el código fuente que se burlaba hasta el código de ejemplo de Moléculas proporcionada por Brad Larson, sin embargo, cuando voy a construir el proyecto, se devuelve el error como el siguiente. Puede alguien señalar para mí si esto es una biblioteca de enlace problema o me estoy perdiendo algo?

"_deflate", referenced from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o "_inflateEnd", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "inflateInit2", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "_inflate", 
referenced from: -[NSData(Gzip) initWithGzippedData:] in NSData+Gzip.o "_deflateEnd", 
referenced from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o "deflateInit2", referenced 
from: -[NSData(Gzip) gzipDeflate] in NSData+Gzip.o ld: symbol(s) not found collect2: ld 
returned 1 exit status
  • ¿Agregar libz para tu proyecto?
InformationsquelleAutor issac | 2008-11-14

2 Kommentare

  1. 82

    En tu Objetivo Build Settings ficha, desplácese hacia abajo a la Other Linker Flags sección y asegúrese de que -lz está en el campo. Este enlace con la incorporada en el zlib, y su error debe desaparecer.

    Después de cambiar el Enlazador debe seleccionar Clean de la Product menú antes de construir de nuevo.

    error al importar zlib en iOS: símbolo(s) no se ha encontrado collect2: ld

    • sí, es resolver el problema gracias
    • Me siento Jason respuesta es un método más fiable.
    • Ben respuesta que usted está usando un libz que YA es parte de tu aplicación. En Jason respuesta que usted está agregando un adicional de libz a la aplicación. Es por eso que Ben respuesta es mejor, es más eficiente (sin ánimo de ofender a Jason, por supuesto).
  2. 47

    Agregar libz a su proyecto. Para ello, siga estos pasos en Xcode:

    1. Abra su proyecto, seleccione el proyecto de destino y, a continuación, haga clic en el azul de la información del proyecto en el icono de la barra de herramientas (o pulse la tecla ⌘I)

      error al importar zlib en iOS: símbolo(s) no se ha encontrado collect2: ld
    2. Haga clic en el botón + en la esquina inferior izquierda de la pantalla para añadir una biblioteca, desplácese hacia abajo hasta la parte inferior de la lista de la biblioteca y seleccione libz.dylib; haga clic en el botón Agregar.

      error al importar zlib en iOS: símbolo(s) no se ha encontrado collect2: ld
    3. Una vez que hayas hecho clic en agregar, usted verá que el nombre de la biblioteca aparecerá en oyur lista de los enlaces de las Bibliotecas. Ahora será capaz de construir su proyecto sin errores de vinculación.

      error al importar zlib en iOS: símbolo(s) no se ha encontrado collect2: ld

    Puede utilizar este mismo método para agregar cualquier biblioteca de la lista. Si la biblioteca no aparece en la lista, entonces usted sabe que no es parte del estándar del iPhone SDK y puede que tenga que reconsiderar su solución o construir la biblioteca estática de sí mismo y el enlace a su destino para que (si es posible).

    • Muy útil la respuesta. Problema resuelto por esta.
    • -1 – si bien es una muy buena respuesta, libz.dylib es que ya no se encuentra disponible cuando usted añadir una biblioteca a su destino y no debe ser utilizado de todos modos para las bibliotecas estándar. En lugar de agregar -lz a su enlazador.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea