【问题标题】:Failed build b/c symbols not found zlib未能找到 zlib 构建 b/c 符号
【发布时间】:2010-10-18 01:46:27
【问题描述】:

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

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

按照说明操作后:

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

2 将 libz 库添加到您的目标

我仍然收到错误:

未找到符号。

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


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

【问题讨论】:

  • 如何建立“黄色参考组”?
  • @jujule 只需添加新组。或者,如果您拖放文件夹,请选择“创建组”而不是“创建文件夹引用”。

标签: ios objective-c xcode ssziparchive


【解决方案1】:

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

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

【讨论】:

  • 我认为 minizip 链接正常。当我将 minizip 文件夹重命名为其他内容时,我收到一个错误,即找不到 Minizip/unzip.h。 xcode中还有其他测试吗?
  • 他说的是 minizip.c,而不是 minizip.h。不是一回事。
  • 谢谢,我尝试从官方 minizip 站点添加 minizip.c。但它试图 #include 。没有这样的文件错误。
【解决方案2】:

关键是要确保

/minizip/ 下的所有 .c 文件都添加到“Build Phases > 编译来源"


对于想要使用 SSZipArchiveCordova 开发人员,请确保不要将整个 /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" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多