2012-03-21 2 views
6

Это сводит меня с ума, когда я пытаюсь скомпилировать на тренажере, все нормально, но на устройстве я получил эту ошибку:л.д.: библиотека не найдена для опцией -lz

ld: library not found for -lz 
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang failed with exit code 1 

Пожалуйста, помогите мне понять, источник проблемы:

Ld /Users/ZConsulting/Library/Developer/Xcode/DerivedData/Fontenay-sous-Bois-dhlecgdgtoldsadoctkyueriyius/Build/Products/Debug-iphoneos/Fontenay-sous-Bois.app/Fontenay-sous-Bois normal armv7 
     cd /Users/ZConsulting/Desktop/Fontenay-sous-Bois 
     setenv IPHONEOS_DEPLOYMENT_TARGET 5.0 
     setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
     /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang -arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk -L/Users/ZConsulting/Library/Developer/Xcode/DerivedData/Fontenay-sous-Bois-dhlecgdgtoldsadoctkyueriyius/Build/Products 
/Debug-iphoneos -F/Users/ZConsulting/Library/Developer/Xcode/DerivedData/Fontenay-sous-Bois-dhlecgdgtoldsadoctkyueriyius/Build/Products/Debug-iphoneos -F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 
/iPhoneOS5.0.sdk/Developer/Library/Frameworks -filelist /Users/ZConsulting/Library/Developer/Xcode/DerivedData/Fontenay-sous-Bois-dhlecgdgtoldsadoctkyueriyius/Build/Intermediates/Fontenay-sous-Bois.build/Debug-iphoneos/Fontenay-sous-Bois.build/Objects-normal/armv7/Fontenay-sous-Bois.LinkFileList -dead_strip -fobjc-arc -miphoneos-version-min=5.0 -framework SenTestingKit -lz -lz.1.1.3 -framework MobileCoreServices 
-framework SystemConfiguration -framework CFNetwork -framework CoreLocation -framework MapKit -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/ZConsulting/Library/Developer/Xcode/DerivedData/Fontenay-sous-Bois-dhlecgdgtoldsadoctkyueriyius/Build/Products/Debug-iphoneos/Fontenay-sous-Bois.app/Fontenay-sous-Bois 

EDIT:

Я сделал импорт рамки libz.1.1.3.dylib: enter image description here

Единственное libz, что я получил в Linked рамках является libz.1.1.3.dylib enter image description here

ответ

6

Вы сделали указать библиотеку libz.dylib в Linked frameworks and Libraries пункта, а не прямой ссылки на libz.1.1.3 - в общем, вы должны использовать наиболее общий версия библиотеки для компиляции, а не более конкретная.

Во-вторых, убедитесь, что в SDK iOS присутствует libz.dylib - если он отсутствует, то это может быть неправильно установленный SDK (переустановка должна исправить это).

т.е.

find /Developer/Platforms -name libz.dylib 

должно привести к непустой выход для libz.dylib под iPhoneOS5.0.sdk

Также смотрите ответ на iPhone - Linker Error in Xcode 4.2 Preview, который аналогичный вопрос к этому.

+0

Я импортировал библиотеку libz.1.1.3.dylib, пожалуйста, посмотри на моем редактировании, это работает с я компилировать с симулятором, но так как Я пытаюсь построить архив, я получил это. – Luca

+0

Да, и симулятор использует другое устройство для устройства. Вам лучше импортировать общий 'libz.dylib', а не конкретный' libz.1.1.3'. Попробуйте 'find/Developer/Platforms -name libz.1.1.3.dylib' и проверьте, что он найден как в iPhoneOS5.0.sdk' * и * 'iPhoneSimulator5.0.sdk'. Если он не найден, я предлагаю заменить его только 'libz.dylib'. У вас должна быть веская причина использовать версию libz версии 1.1.3 для ссылки на эту конкретную версию (в общем, эти библиотеки совместимы с повышением) – Petesh

+0

Единственная инфраструктура libz, которую я получил в списке, - это 'libz.1.1. 3.dylib', пожалуйста, посмотрите мое обновление. – Luca

2

я получил ту же ошибку с другой библиотекой:

ld: library not found for -lssl 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

разрешить это под search paths ->user header search paths ->release я поставил:

"$(BUILD_ROOT)/../IntermediateBuildFilesPath/UninstalledProducts/include" 

иметь в виду, что я получаю это ошибка, только когда я архивирую, и мой архив основан на моей схеме выпуска.


обновление: У меня такая же проблема (по другому поводу/проекта) для lpods библиотеки (т.е. cocoapods) .. как я понял, чтобы решить это, понимая, что сборка работала отлично на моей схеме development но не моя схема debug. в основном схема development имела нет для build active architectures only тогда как debug имел да. Я просто не изменил debug на нет в все целей под cocoapods

Смежные вопросы