Undefined symbols for architecture i386: «_deflate», se hace referencia de PlatCompress(enumCompressOperation, CompressCookie*, void*, long) en libMo.un

Estoy haciendo nativas de iOS de la aplicación utilizando SUP.Según la documentación; he incluido la biblioteca y dada la ruta de enlace en Xcode.
Mientras que la construcción de llegar de error siguientes:

Undefined symbols for architecture i386:
  "_deflate", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in         libMo.a(tlplatcompress.o)
  "_deflateEnd", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
  "_deflateInit_", referenced from:
      StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*, long), void*, void**) in libMo.a(tlplatcompress.o)
  "_deflateParams", referenced from:
      StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*, long), void*, void**) in libMo.a(tlplatcompress.o)
  "_inflate", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
  "_inflateEnd", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
  "_inflateInit_", referenced from:
      StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*,  long), void*, void**) in libMo.a(tlplatcompress.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Por favor me ayude a resolver este error.Soy nuevo en el nativo de iOS desarrollo de la SUP.

Gracias.

InformationsquelleAutor bapi | 2013-08-05

4 Kommentare

  1. 144

    Yo también tenía el mismo error.

    Agregar libz.dylib marco de la meta -> Fases de construcción ficha -> Link Binarios Con Bibliotecas,

    la esperanza de que va a trabajar para usted.

    Nota: Si libz.dylib no se encuentra, trate de añadir libz.tbd

    • ¿qué es libz.dylib & ¿qué hacer?
    • Esto no funciona en la última versión de Xcode.
    • Trabajó para mí en Xcode7, iOS 9.1. Mi falta libs se libz.tbd y libsqlite3.tbd
    • no hay ningún «libz.dylib» pero agregar libz.tbd y funciona 🙂
    • Gracias por la respuesta @Dhaval. También puede usted por favor me ayude a entender lo que es libz.tbd y cómo se ha resuelto este problema.
  2. 39

    Comenzando con Xcode 7, en lugar de la adición de libz.dylib, usted debe hacer esto:

    • Ir al proyecto Build Settings ficha
    • De búsqueda para Other Linker Flags
    • Agregar -lz como un enlazador de la bandera (ver captura de pantalla)
    • En el Product menú, seleccione Clean antes de la construcción de nuevo

    Undefined symbols for architecture i386:

    • Muchas gracias, me has salvado la vida 🙂
    • omg gracias!!
    • esto funciona.. para la última versión de XCode [email protected]
    • conseguir el mismo problema en Xcode 8.2.1 para añadir un marco de trabajo personalizado en una aplicación …. pleasehelp
    • Por favor, añada una explicación en cuanto a por qué esto resuelve el problema.
    • Sé que el manual para ld explica el -l[x] indica el vinculador cómo encontrar el lib[x].dylib (en este caso, libz.dylib). Alguien que entienda de este tema mejor que yo debería agregar una explicación. Me tropecé a través de la solución después de otras respuestas aquí no funciona, y publicado lo que hice.
    • siendo cierto para Xcode 9. Ya sea el uso de banderas o añadir el marco de trabajo.
    • Funcionó !!!!! Usted salvó mi trabajo !!

  3. 19

    Undefined symbols for architecture i386:

      "_deflate", referenced from:
          PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in         libMo.a(tlplatcompress.o)
      "_deflateEnd", referenced from:
          PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
      "_deflateInit_", referenced from:
          StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*, long), void*, void**) in libMo.a(tlplatcompress.o)
      "_deflateParams", referenced from:
          StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*, long), void*, void**) in libMo.a(tlplatcompress.o)
      "_inflate", referenced from:
          PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
      "_inflateEnd", referenced from:
          PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
      "_inflateInit_", referenced from:
          StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*,  long), void*, void**) in libMo.a(tlplatcompress.o)
    ld: symbol(s) not found for architecture i386
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    También tuve el mismo problema,creo que no son de la libz.dylib biblioteca.

    Para hacerlo:

    1. ir a la sección orientación
    2. Fases de construcción ficha
    3. Enlace Binarios Con Bibliotecas
    4. haga clic en el botón +
    5. búsqueda libz.dylib
    6. haz clic en el botón add.
    • Muy bien contestado. Pensamiento profundo. Gracias
    • Golpear en el blanco de los ojos !!!!
  4. 10

    1.vaya a la sección orientación

    2.Fases de construcción ficha

    3.Enlace Binarios Con Bibliotecas

    4.haga clic en el botón +

    5.búsqueda libz.tbd (o libz.dylib)

    6.haga clic en el botón add.

    • Su respuesta no es diferente a las otras respuestas, así que ¿por qué has publicado?
    • Única diferencia que he hecho es «5.búsqueda libz.tbd (o libz.dylib)» creo que libz.tbd es el nuevo nombre para libz.dylib

Kommentieren Sie den Artikel

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

Pruebas en línea