9

デバイスで実行しようとするとこのエラーが発生しますが、シミュレーターで実行すると正常に動作します。これはツール チェーン エラーですか、それとも SDK ヘッダー エラーですか? 以下は、コンパイル時に表示されるエラー メッセージです。

エラーメッセージ:

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)

// - 終わり -

これは私の死になるだろう。それを解決する方法について何か考えはありますか?どうぞよろしくお願いいたします。

前もって感謝します。

解決

Kevin と Jasper Blues の返信に感謝します。また、私の投稿を編集してくれた Reno Jones にも感謝します。これを修正しようと何時間も試みた後、ファイル「libobjc.A.dylib」の名前を「libobjc.dylib」に変更すると、エラーは消えました。P/S: "libobjc.A.dylib" - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer‌ /SDKs/*/usr/lib/ にあります。Kevin に感謝します。

4

2 に答える 2

5

「デバッグ」構成と「リリース」構成の両方に別々の「OTHER LINKER FLAGS」を指定したため、シミュレーターでは機能しますが、デバイスでは機能しないと思います。「Reveal」、「DCIntrospect」などのデバッグ フレームワークでリンクしている場合は、通常、これを行います。

「リリース」のものが間違っているようです。これは、'-lObjc' ではなく '-Objc' である必要があります。Objective-C 自体を使用していて、'Objc' というライブラリをロードしないことをコンパイラに伝えています。

なおす:

  • Xcode で、アプリのターゲットをクリックします。
  • 「ビルド設定」タブを開きます。
  • オプションに圧倒されないように、「その他のリンカー フラグ」を検索してください。
  • 「リリース」構成を修正します。「-lObjc」を「-Objc」に変更

フラグ

于 2013-11-01T04:33:40.687 に答える
1

「libobjc.A.dylib」の名前を変更する必要はありません。次のように再リンクするだけです: ln -s ./libobjc.A.dylib ./libobjc.dylib

于 2014-07-23T09:13:33.687 に答える