2011-04-13 20 views
8

Estoy intentando compilar ZipArchive con mi proyecto. Importé todos los archivos fuente, incluidos los archivos minizip, y no entiendo estos errores. He intentado una docena de otras formas de incorporar compresión/descompresión en mi proyecto de iPhone, todo sin éxito. ZipArchive parece ser la mejor biblioteca, y este problema parece que es un problema de configuración de configuración de compilación simple, pero no puedo resolverlo.Compilación de ZipArchive en el proyecto XCode 4

Undefined symbols for architecture armv6: 
    "_zipClose", referenced from: 
     -[ZipArchive CloseZipFile2] in ZipArchive.o 
    "_zipOpenNewFileInZip3", referenced from: 
     -[ZipArchive addFileToZip:newname:] in ZipArchive.o 
    "_unzOpenCurrentFile", referenced from: 
     -[ZipArchive UnzipFileTo:overWrite:] in ZipArchive.o 
    "_unzGetGlobalInfo", referenced from: 
     -[ZipArchive UnzipOpenFile:] in ZipArchive.o 
    "_unzReadCurrentFile", referenced from: 
     -[ZipArchive UnzipFileTo:overWrite:] in ZipArchive.o 
    "_unzOpen", referenced from: 
     -[ZipArchive UnzipOpenFile:] in ZipArchive.o 
    "_unzCloseCurrentFile", referenced from: 
     -[ZipArchive UnzipFileTo:overWrite:] in ZipArchive.o 
    "_zipWriteInFileInZip", referenced from: 
     -[ZipArchive addFileToZip:newname:] in ZipArchive.o 
    "_zipOpenNewFileInZip", referenced from: 
     -[ZipArchive addFileToZip:newname:] in ZipArchive.o 
    "_unzGoToFirstFile", referenced from: 
     -[ZipArchive UnzipFileTo:overWrite:] in ZipArchive.o 
    "_unzGetCurrentFileInfo", referenced from: 
     -[ZipArchive UnzipFileTo:overWrite:] in ZipArchive.o 
    "_zipCloseFileInZip", referenced from: 
     -[ZipArchive addFileToZip:newname:] in ZipArchive.o 
    "_unzClose", referenced from: 
     -[ZipArchive UnzipCloseFile] in ZipArchive.o 
    "_zipOpen", referenced from: 
     -[ZipArchive CreateZipFile2:] in ZipArchive.o 
    "_unzGoToNextFile", referenced from: 
     -[ZipArchive UnzipFileTo:overWrite:] in ZipArchive.o 
    "_unzOpenCurrentFilePassword", referenced from: 
     -[ZipArchive UnzipFileTo:overWrite:] in ZipArchive.o 
ld: symbol(s) not found for architecture armv6 
collect2: ld returned 1 exit status 
+0

¿Has vinculado con libz.dylib? – Nyx0uf

+0

@Benj sí. Lo intenté con libz.dylib y con libz.1.2.3.dylib, sin efecto. – jakev

+0

Además, creo un proyecto limpio e importo los archivos, vinculo a libz.dylib y obtengo los mismos errores, así que sé que no es mi proyecto. – jakev

Respuesta

14

Tuve exactamente el mismo problema. Yo uso Xcode 4.4 para iOS 5.1. Y lo resolví de esta manera:

  1. Retire todos los ZipArchive-Files incl. Minizip-Folder de su proyecto: pasar a la papelera.
  2. Vuelva a agregar ambos ZipArchive-Files y Minitip-Folder y ASEGÚRESE DE SELECCIONAR LA OPCIÓN "Crear grupos para cualquier carpeta agregada" en lugar de "Crear referencias de carpetas para cualquier carpeta agregada".
  3. si utiliza ARC, a continuación, añadir a todas las fases Build -> Fuentes de compilación ZipArchive-Items la opción "-fno-objc-arco"

eso es todo - buena suerte.

+0

No he visto esto porque resolví este problema eligiendo otra solución, pero parece que tienes la respuesta más reciente. – jakev

+0

Esto resolvió los problemas de ABC para mí utilizando Xcode versión 4.5.2 (4G2008a) con iOS 6. –

+0

Después de días todavía no puedo obtener este sangriento funcionamiento. Qué semana de pesadilla absoluta con ZipArchive. No estoy feliz para nada. – fuzz

2

Cuando lo probé será fácilmente compilado con siguiente enlace

http://code.google.com/p/ziparchive/wiki/PageName

sólo tomo la carpeta en el siguiente formulario

ZipArchive 
    ZipArchive.h 
    ZipArchive.mm 
    minizip (Folder) 

Entonces sólo tienes que arrastrar la carpeta ZipArchive & gota a xCode "Clases".

A continuación, agregue el marco libz.1.2.3.dylib.

Eso es todo. Mi código se compila sin ningún problema.

+0

intente importar "ZipArchive/ZipArchive.h" – jakev

+0

Tuve la importación "ZipArchive/ZipArchive.h" luego tome ZipArchive * zip = [[ZipArchive alloc] init]; luego use [zip CreateZipFile2: ...]; Todo funciona bien Estoy usando Xcode 3.2.5 con iOS SDK 4.2 –

+0

Estoy usando Xcode 4. Finalmente lo he compilado con la importación, pero tan pronto como digo ZipArchive * zip = [[ZipArchive alloc] init]; falla con un error similar al anterior (aunque solo 1 de ellos, en lugar de 16). No sé lo que hice para mejorarlo, pero aún no puedo usar la biblioteca. – jakev

2

Lo puse en funcionamiento añadiendo "/usr/lib/libz.dylib" a los otros indicadores en la sección de objetivos de la configuración del proyecto.

Me funcionó con Minizip.

0

también caí en este mismo caso ....

pero he encontrado la siguiente resolución.

http://travitu.hatenablog.jp/entry/2014/12/23/005037

He resuelto de esta manera:

· Cuando se agrega ZipArchive Expediente y el Minitip-carpeta para su proyecto, debe marcar "Copiar elementos si es necesario" y "Creación de grupos" .

Eso es todo.

0

Esto funcionó agregando el archivo libz.tdb. (Xcode 7, iOS 9). Error ido.

+0

No lo hice. ¿Procesaste algún paso especial? – NovusMobile

Cuestiones relacionadas