Ответ 1
У меня также была ошибка.
Добавить "libz.dylib" в рамку с целевой страницы → вкладка "Фазы построения" → "Связывание двоичных файлов с библиотеками",
надеюсь, что это сработает для вас.
Я использую приложение для iOS с использованием SUP. В соответствии с документацией; Я включил библиотеку и задал путь ссылки в Xcode. При создании следующей ошибки:
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)
Пожалуйста, помогите мне, как решить эту ошибку. Я новичок в разработке родных iOS, используя SUP.
Спасибо.
У меня также была ошибка.
Добавить "libz.dylib" в рамку с целевой страницы → вкладка "Фазы построения" → "Связывание двоичных файлов с библиотеками",
надеюсь, что это сработает для вас.
Начиная с Xcode 7, вместо добавления libz.dylib, вы должны сделать это:
Build Settings
проектаOther Linker Flags
-lz
в качестве флага компоновщика (см. снимок экрана)Product
выберите Clean
перед тем, как снова создатьUndefined символы для архитектуры 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)
У меня также была та же проблема, я думаю, вы не включили библиотеку libz.dylib.
Для этого:
1.go в целевой раздел
вкладка 2.Build Phases
3.Link Binaries с библиотеками
4. кликнуть на + кнопку
5.search libz.tbd(или libz.dylib)
6. Нажмите кнопку добавления.