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

    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并没有帮助,有人有什么想法吗?


当前回答

Go TARGETS -> General -> Deployment Info ->设置目标8.1或10.0

框架或库没有ARMV7体系结构。

其他回答

当模块(file .m)不在我正在使用的目标中时,我常常会遇到这个问题。

对我来说,问题是我忘记在.m(实现)中为我的常量设置值

file const kFooKey = @"Foo";

将m文件(包括funcs方法)重命名为mm,反之亦然。 我的解决了将mm重命名为m 或者m到mm。

我在iphone5s上运行app时遇到了这个问题,通过添加arm64到架构解决了这个问题。

目标中可能缺少一些类。这通常发生在你重命名/删除/添加新的类文件到你的项目。若要修复,请将新添加的类添加到某些目标。

在Project Navigator中选择类(右侧栏),打开Utilities侧栏(右侧栏),从Utilities中选择File Inspector (File like icon),在Target Membership选项卡下勾选你的目标。这都是为了避免“删除引用”,并再次添加“添加到目标”的技巧。

所以:选择Class -> Utilities (File Inspector) -> Target Membership ->勾选你想要的目标。