这个问题快把我逼疯了,我不知道怎么解决它。

    Undefined symbols for architecture armv7:
  "_deflateEnd", referenced from:
      -[ASIDataCompressor closeStream] in ASIDataCompressor.o
  "_OBJC_CLASS_$_ASIDataDecompressor", referenced from:
      objc-class-ref in ASIHTTPRequest.o
  "_deflate", referenced from:
      -[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
  "_deflateInit2_", referenced from:
      -[ASIDataCompressor setupStream] in ASIDataCompressor.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

我认为这与:

ld: symbol(s) not found for architecture armv7

但是我添加了:libz.1.2.3。Dylib并没有帮助,有人有什么想法吗?


当前回答

最后我想明白了,我通过添加缺少框架的目标->构建阶段->链接二进制库解决了这个问题

其他回答

我有这个警告,当在另一个类的.h文件中写两个类时,但忘记在.m文件中写这个类的实现。

我遇到了类似的问题,我必须在每个项目配置(调试、发布和部署)和目标的构建设置中检查“仅构建活动体系结构”。

我遇到了一个PJSIP库的问题,

在项目中的其他链接器标志中尝试了以下操作,并能够解决错误: 框架 基金会 框架 UIKit

上面的链接标志用于Siphone项目在github上。这些设置将帮助您解决与c++库链接相关的问题。

当我加入第三方框架时,我也遇到了同样的问题。

当我从目标的构建设置中的有效架构条目中删除armv7s时,问题得到了解决,它开始工作。

在Xcode版本6.3.2中,我通过添加Library解决了完全相同的问题 libxml2。Dylib和libz。在链接二进制与库!