6

我在将用于 zip 提取的库添加到我的 iPhone 应用程序时遇到问题。

我决定使用SSZipArchive。它使用 minizip。

按照说明操作后:

1 添加 SSZipArchive.h、SSZipArchive.m 和 minizip
添加了 minizip

2 将 libz 库添加到您的目标
添加了 libz

我仍然收到错误:
替代文字

未找到符号。

我尝试将 -lz 添加到其他链接器标志并添加 lybz.dylib 但它没有帮助。如果您知道如何让 libz 在这里工作,请告诉我。


已解决:我没有使用文件夹,而是创建了一个黄色参考组,从包含中删除 /minizip/,现在一切正常。

4

2 回答 2

1

unzOpenunzOpenCurrentFileunzOpenCurrentFilePassword是在 minizip 库中定义的函数。链接器抱怨它找不到这些函数,这意味着它们没有被正确编译或链接。

确保它minizip/unzip.c正确地包含在您的项目中,并仔细检查它是否已被编译和链接。

于 2010-10-18T02:06:37.090 回答
0

关键是确保

/minizip/ 下的所有.c文件都添加到“ Build Phases > Compiled Sources

在此处输入图像描述


对于想要使用SSZipArchive的Cordova开发人员,请确保不要将整个 /minizip/ 文件夹作为源文件包含在 plugin.xml 中,

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

^^^^^^^^不!

将它们分别包含为 和 :

<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" />
于 2017-10-30T10:09:40.347 回答