Компиляция ZipArchive в проекте XCode 4 - PullRequest
8 голосов
/ 13 апреля 2011

Я пытаюсь скомпилировать ZipArchive с моим проектом. Я импортировал все исходные файлы, включая мини-файлы, и я не понимаю, как эти ошибки. Я попробовал дюжину других способов включить сжатие / распаковку в мой проект iphone, но все безуспешно. ZipArchive, похоже, является лучшей библиотекой, и эта проблема выглядит так, как будто это простая конфигурация настроек конфигурации, но я не могу ее решить.

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

Ответы [ 5 ]

14 голосов
/ 04 августа 2012

У меня была точно такая же проблема.Я использую Xcode 4.4 для iOS 5.1.И я решил это так:

  1. Удалите все ZipArchive-файлы вкл.Minizip-Folder из вашего проекта - переместитесь в корзинулюбая добавленная папка ".
  2. , если вы используете ARC, затем добавьте ко всем этапам сборки -> Компилировать источники ZipArchive-Items параметр" -fno-objc-arc "

Тос - удачи.

2 голосов
/ 15 мая 2011

Я заработал, добавив "/usr/lib/libz.dylib" к другим флажкам ссылок в разделе целей в настройках проекта.

Это сработало для меня с Minizip.

2 голосов
/ 13 апреля 2011

Когда я попробовал, он будет легко скомпилирован по следующей ссылке

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

Я просто беру папку в следующей форме

ZipArchive 
   ZipArchive.h
   ZipArchive.mm
   minizip (Folder)

Затем просто перетащите папку ZipArchive в xCode «Классы».

Затем добавьте фреймворк libz.1.2.3.dylib.

Вот и все. Мой код компилируется без проблем.

0 голосов
/ 12 ноября 2015

Я получил это, добавив файл libz.tdb.(Xcode 7, iOS 9).Ошибка исчезла.

0 голосов
/ 24 июля 2015

Я тоже попал в тот же случай ....

Но я нашел следующее решение.

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

Я решил это следующим образом:

・ Когда вы добавляете ZipArchive-Files и Minitip-Folder в свой проект, вы должны отметить «Копировать элементы при необходимости» и «Создать группы».

Вот и все.

...