Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Undefined symbols for architecture i386: "_deflate", referenced from PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a

I'm doing native iOS application using SUP.As per documentation; i have included the library and given the link path in Xcode. While building getting following error:

Undefined symbols for architecture i386:
  "_deflate", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in         libMo.a(tlplatcompress.o)
  "_deflateEnd", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
  "_deflateInit_", referenced from:
      StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*, long), void*, void**) in libMo.a(tlplatcompress.o)
  "_deflateParams", referenced from:
      StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*, long), void*, void**) in libMo.a(tlplatcompress.o)
  "_inflate", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
  "_inflateEnd", referenced from:
      PlatCompress(enumCompressOperation, CompressCookie*, void*, long) in libMo.a(tlplatcompress.o)
  "_inflateInit_", referenced from:
      StartCompression(enumCompressOperation, unsigned char, long (*)(void*, void*,  long), void*, void**) in libMo.a(tlplatcompress.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Please help me how to solve this error.I'm new to native iOS development using SUP.

Thanks.

like image 220
bapi Avatar asked Aug 05 '13 08:08

bapi


2 Answers

I also had a same error.

Add libz.dylib to framework from the target -> Build Phases tab -> Link Binaries With Libraries,

hope that will work for you.

Note: If libz.dylib not found, try adding libz.tbd

like image 123
Dhaval H. Nena Avatar answered Nov 06 '22 06:11

Dhaval H. Nena


Starting with Xcode 7, instead of adding libz.dylib, you should do this:

  • Go to the project Build Settings tab
  • Search for Other Linker Flags
  • Add -lz as a linker flag (see screenshot)
  • In the Product menu, select Clean before building again

lz link option

like image 43
Abhi Beckert Avatar answered Nov 06 '22 05:11

Abhi Beckert