【问题标题】:Error:Apple Mach-O Linker (Id) Warning错误:Apple Mach-O 链接器 (Id) 警告
【发布时间】:2011-12-06 19:37:36
【问题描述】:

在我的应用程序中,我一直在努力导入和导出数据库。

我已导入此功能所需的一些文件,但是当我尝试在模拟器中运行应用程序时,会出现下面列出的错误。我不明白这些是哪种类型的错误。所以请帮我解决这个问题。

Undefined symbols for architecture i386:
  "_inflateInit2_", referenced from:
      -[NSData(NSDataExtension) gzipInflate] in NSData+CocoaDevUsersAdditions.o
  "_inflate", referenced from:
      -[NSData(NSDataExtension) gzipInflate] in NSData+CocoaDevUsersAdditions.o
  "_inflateEnd", referenced from:
      -[NSData(NSDataExtension) gzipInflate] in NSData+CocoaDevUsersAdditions.o
  "_deflateInit2_", referenced from:
      -[NSData(NSDataExtension) gzipDeflate] in NSData+CocoaDevUsersAdditions.o
  "_deflate", referenced from:
      -[NSData(NSDataExtension) gzipDeflate] in NSData+CocoaDevUsersAdditions.o
  "_deflateEnd", referenced from:
      -[NSData(NSDataExtension) gzipDeflate] in NSData+CocoaDevUsersAdditions.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

【问题讨论】:

    标签: iphone xcode cocoa-touch


    【解决方案1】:

    您没有包含这些函数所在的 libz.tbd。选择项目节点,选择您的目标,进入 Build Phases 选项卡,展开“Link Binaries With Libraries”,添加 libz.dylib,然后重试。

    【讨论】:

    • 是的,它有效。但是为什么只有在我存档时才发生错误!
    • 实时助手。非常感谢你。
    • 从 Xcode 7 开始,这仍然是正确的答案,但该库现在称为“libz.tbd”。
    • @Jano 非常感谢。你节省了我的时间
    【解决方案2】:

    将 libz.dylib 添加到您的框架中,它会起作用..

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,感谢 Jano,在我将 Libz.dylib 添加到项目后,问题得到了解决。

      【讨论】:

        猜你喜欢
        • 2012-04-26
        • 1970-01-01
        • 2011-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-26
        相关资源
        最近更新 更多