2010-10-18 10 views
6

Tengo problemas para agregar libs para la extracción de zip a mi aplicación de iPhone.No se pudo compilar símbolos b/c no encontrados zlib

Decidí usar SSZipArchive. Utiliza minizip.

Después de seguir las instrucciones:

1 Añadir SSZipArchive.h, SSZipArchive.m y minizip
added minizip

2 Añadir la biblioteca libz a su objetivo
added libz

Todavía recibo errores:
alt text

Símbolo (s) no encontrado (s).

Intenté agregar -lz a otros marcadores y agregar lybz.dylib pero no sirvió de nada. Por favor, avíseme si sabe cómo hacer que libz trabaje aquí.


Resuelto: En lugar de utilizar una carpeta, he hecho un grupo de referencia de color amarillo, eliminado/minizip/includes y ahora funciona todo.

+0

cómo haces un "grupo de referencia amarilla"? – jujule

+2

@jujule Solo agrega un nuevo grupo. O si arrastra y suelta una carpeta, elija "Crear grupos" en lugar de "Crear referencias de carpeta"." –

Respuesta

1

unzOpen, unzOpenCurrentFile, y unzOpenCurrentFilePassword son funciones definidas en la biblioteca de minizip. El enlazador se queja de que no puede encontrar esas funciones, lo que significa que no están compilando ni vinculando correctamente.

Asegúrese de que minizip/unzip.c esté incluido en su proyecto correctamente y vuelva a verificar que esté compilado y vinculado.

+0

Creo que minizip está vinculado OK. Cuando cambio el nombre de la carpeta minizip a otra cosa, aparece un error que indica que no se puede encontrar Minizip/unzip.h. ¿Hay alguna prueba en xcode? –

+1

Dijo minizip.c, no minizip.h. No es lo mismo. – Turtle

+2

Gracias, traté de agregar minizip.c desde el sitio oficial de minizip. Pero está tratando de incluir # y . No se ha producido ningún error de archivo. –

0

La clave para esto es para asegurarse de que

Todos los archivos.c bajo/minizip/se añaden a "Construir Fases> Fuentes Compilado"

enter image description here


Para Cordova desarrolladores que desean utilizar SSZipArchive, asegúrese de que usted no incluye el todo/carpeta/minizip como archivo de origen en plugin.xml,

<source-file src="src/ios/minizip"/> 

^^^^^^^^¡No!

ellos Incluir separado como y:

<header-file src="src/ios/minizip/crypt.h" target="crypt.h" /> 
<source-file src="src/ios/minizip/ioapi.c" target="ioapi.c" /> 
<header-file src="src/ios/minizip/ioapi.h" target="ioapi.h" /> 
<source-file src="src/ios/minizip/mztools.c" target="mztools.c" /> 
<header-file src="src/ios/minizip/mztools.h" target="mztools.h" /> 
<source-file src="src/ios/minizip/unzip.c" target="unzip.c" /> 
<header-file src="src/ios/minizip/unzip.h" target="unzip.h" /> 
<source-file src="src/ios/minizip/zip.c" target="zip.c" /> 
<header-file src="src/ios/minizip/zip.h" target="zip.h" /> 
Cuestiones relacionadas