xcode Bibliothek nicht gefunden -lobjc
Bin ich immer diese Fehlermeldung, wenn ich versuche, führen Sie es auf meinem Gerät, allerdings ist es gut, wenn ich es auf den simulator. Ist dieses "tool chain" Fehler oder SDK-header-Fehler? Unten ist die Fehlermeldung die ich erhalten beim kompilieren.
Fehlermeldung:
Ld /Users/KhangYu/Library/Developer/Xcode/DerivedData/mobiletimetec-bbuzqjqgmijmomgdmvebkbyasqii/Build/Intermediates/mobiletimetec.build/Debug-iphoneos/mobiletimetec.build/Objects-normal/armv7/mobiletimetec normal armv7
cd /Users/KhangYu/Desktop/KPTesting/setting
setenv IPHONEOS_DEPLOYMENT_TARGET 6.1
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/KhangYu/Library/Developer/Xcode/DerivedData/mobiletimetec-bbuzqjqgmijmomgdmvebkbyasqii/Build/Products/Debug-iphoneos -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system -F/Users/KhangYu/Library/Developer/Xcode/DerivedData/mobiletimetec-bbuzqjqgmijmomgdmvebkbyasqii/Build/Products/Debug-iphoneos -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /Users/KhangYu/Library/Developer/Xcode/DerivedData/mobiletimetec-bbuzqjqgmijmomgdmvebkbyasqii/Build/Intermediates/mobiletimetec.build/Debug-iphoneos/mobiletimetec.build/Objects-normal/armv7/mobiletimetec.LinkFileList -dead_strip -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6.1 -framework SystemConfiguration -framework AVFoundation -lsqlite3.0 -framework MapKit -framework CoreLocation -framework MessageUI -framework QuartzCore -framework Security -framework UIKit -framework Foundation -framework CoreGraphics -o /Users/KhangYu/Library/Developer/Xcode/DerivedData/mobiletimetec-bbuzqjqgmijmomgdmvebkbyasqii/Build/Intermediates/mobiletimetec.build/Debug-iphoneos/mobiletimetec.build/Objects-normal/armv7/mobiletimetec
ld: library not found for -lobjc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
//-- ENDE --
Diesem wird der Tod von mir. Jede Idee, wie es zu lösen? Ihre Hilfe wird sehr geschätzt.
Vielen Dank im Voraus.
Lösung
Dank Kevin und Jasper Blues Antwort und auch danke Reno Jones zu meinen Beitrag Bearbeiten.
Nach Stunden versucht, dieses Problem zu lösen, umbenannt habe ich die Datei "libobjc.Ein.dylib" zu "libobjc.dylib"und der Fehler verschwindet.
P/S: "libobjc.Ein.dylib" - befindet sich in /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/*/usr/lib/, danke nochmal an Kevin.
- Es ist eine fehlende library, Art zwischen einer toolchain-Fehler-und sdk-Header.
- Was sdk verwenden Sie? Führen Sie
ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/*/usr/lib/libobjc*
und sagen Sie uns, was es zeigt. - Ihre "Lösung" vollständig arbeitet für Xcode 6: kopierte ich
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libobjc.A.dylib
zu/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libobjc.dylib
... Was ich nicht verstehe ist... warum? - Basierend auf dieser anderen Frage -- stackoverflow.com/questions/14595974/... -- es ist wahrscheinlich eine der libs, die Sie geladen haben, die erwartet, dass name der Bibliothek, z.B. Facebook.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Vermutung ist, dass es funktioniert auf dem Simulator, aber nicht das Gerät, weil Sie angegeben haben, trennen 'ANDERE LINKER FLAGS' für beide 'Debug' und 'Release' - Konfigurationen. Sie würden in der Regel tun dies, wenn Sie die Verlinkung in einem debug-framework wie 'Zeigen', 'DCIntrospect', etc.
Das für 'Release' sieht falsch zu sein. Es sollte "- Objc' und nicht '-lObjc' - wir sagen dem compiler, dass wir mit Objective-C selbst, und nicht zum laden einer Bibliothek namens 'Objc'.
Zu korrigieren:
Gibt es keine Notwendigkeit zu benennen "libobjc.Ein.dylib", nur neu verknüpfen wie : ln -s ./libobjc.Ein.dylib ./libobjc.dylib