未能找到 zlib 构建 b/c 符号
Posted
技术标签:
【中文标题】未能找到 zlib 构建 b/c 符号【英文标题】:Failed build b/c symbols not found zlib 【发布时间】:2010-10-18 01:46:27 【问题描述】:我在向我的 iPhone 应用程序添加用于 zip 提取的库时遇到问题。
我决定使用SSZipArchive。它使用 minizip。
按照说明操作后:
1 添加 SSZipArchive.h、SSZipArchive.m 和 minizip
2 将 libz 库添加到您的目标
我仍然收到错误:
未找到符号。
我尝试将 -lz 添加到其他链接器标志并添加 lybz.dylib 但它没有帮助。如果您知道如何让 libz 在这里工作,请告诉我。
已解决:我没有使用文件夹,而是创建了一个黄色参考组,从包含中删除 /minizip/,现在一切正常。
【问题讨论】:
如何建立“黄色参考组”? @jujule 只需添加新组。或者,如果您拖放文件夹,请选择“创建组”而不是“创建文件夹引用”。 【参考方案1】:unzOpen
、unzOpenCurrentFile
和 unzOpenCurrentFilePassword
是在 minizip 库中定义的函数。链接器抱怨它找不到这些函数,这意味着它们没有被正确编译或链接。
确保 minizip/unzip.c
正确包含在您的项目中,并仔细检查它是否已编译和链接。
【讨论】:
我认为 minizip 链接正常。当我将 minizip 文件夹重命名为其他内容时,我收到一个错误,即找不到 Minizip/unzip.h。 xcode中还有其他测试吗? 他说的是 minizip.c,而不是 minizip.h。不是一回事。 谢谢,我尝试从官方 minizip 站点添加 minizip.c。但它试图 #include关键是要确保
/minizip/ 下的所有 .c 文件都添加到“Build Phases > 编译来源"
对于想要使用 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" />
【讨论】:
以上是关于未能找到 zlib 构建 b/c 符号的主要内容,如果未能解决你的问题,请参考以下文章
重复符号错误:带有 Objective-Zip、ZLib、MiniZip 的 Flurry SDK 5.0.0
静态 Swift 框架未能通过 CocoaPods 验证,并显示“未定义的架构符号”
AWS Elastic Beanstalk Drupal 8 安装错误:未能创建符号链接“站点/默认/文件”:
XCode 4.3 使用错误链接的 dylib 构建 iOS 应用程序(未找到符号:_OBJC_CLASS_$_CLGeocoder)