Undefined symbols for architecture x86_64错误原因

在Xcode7上做framework编译framework正常,但使用[XCTest]做单元测试,运行单元测试,报如下错误:
Undefined symbols for architecture x86_64:
  "_deflate", referenced from:
      +[NSData(Gzip) compress:] in EMPKit(NSData+EMPKit.o)
  "_deflateEnd", referenced from:
      +[NSData(Gzip) compress:] in EMPKit(NSData+EMPKit.o)
  "_deflateInit2_", referenced from:
      +[NSData(Gzip) compress:] in EMPKit(NSData+EMPKit.o)
  "_inflate", referenced from:
      +[NSData(Gzip) uncompress:] in EMPKit(NSData+EMPKit.o)
  "_inflateEnd", referenced from:
      +[NSData(Gzip) uncompress:] in EMPKit(NSData+EMPKit.o)
  "_inflateInit2_", referenced from:
      +[NSData(Gzip) uncompress:] in EMPKit(NSData+EMPKit.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)



    开始也查到应该是其依赖类库没添加问题,但framework中也没添加,编译正常,但[XCTest]编译就是不通过,后来将target调整为单元测试对应的target,然后添加对应的依赖库,然后编译正常,具体解放方法如下:

①:找到对应的target(如:framework、test、aggregate)【这个很重要哦!】;

②:targets--->build phases----->link binary with libraries----->+选择要添加的库。


参考:

        Undefined symbols for architecture armv7:错误解决方法 

你可能感兴趣的:(Undefined symbols for architecture x86_64错误原因)