16

プロジェクトをコンパイルしようとすると、このエラーが発生し、誰かがそれを修正する方法を知っているかどうか疑問に思っていますか?

この種のリンカーエラーに関連するSOおよびインターネット上の他の場所に関するすべての回答を読みました。非常に人気のある-xcodeで派生データを削除し、xcodeを完全に終了し、コマンドラインで再度削除してからxcodeを再起動するなど、非常に多くのソリューションを試しましたが、まだ何もありません。これは、友人が彼の iPad で実行しようとしたデバイスを自分のコンピューター (オーガナイザーから削除した後) に接続しようとした後に始まりました。私は頭がおかしくなり、これ以上時間を無駄にする余裕はありません。それを修正する方法についてのアイデアはありますか?

Products フォルダー内のアプリ ファイルは赤色です。

編集: 詳細: 実際のアプリはビルドされておらず、Library/Developer/{app}/Build/Product フォルダーに配置されています。デバイスを再接続し、Apple Web サイトからプロビジョニング プロファイルを手動で追加してから、デバイスが選択されている間にアプリをビルド - >アーカイブしようとしました。それでもエラーが発生します。スキームでデバッグからリリースに変更しようとしましたが、すべてを実行してもエラーが発生します。xcodeをアンインストールして再インストールし、アプリをコンピューターから完全に削除して(派生データを含む)、Gitから引き戻そうとしましたが、同じエラーが発生しました。

Ld /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/UnitTests.octest/UnitTests 通常の i386 cd /Users/mischabuckler/Desktop/Git/TRx setenv IPHONEOS_DEPLOYMENT_TARGET 6.1 setenv PATH " /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 i386 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/開発者/SDK/iPhoneSimulator6.1.sdk -L/Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator -F/Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/ Debug-iphonesimulator -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/ライブラリ/フレームワーク -filelist /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Intermediates/TRx.build/Debug-iphonesimulator/UnitTests.build/Objects-normal/i386/UnitTests.LinkFileList -bundle_loader / Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/TRx.app/TRx -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.1 -framework SenTestingKit -framework UIKit -framework Foundation -o /Users/mischabuckler/ライブラリ/開発者/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/ビルド/製品/Debug-iphonesimulator/UnitTests.octest/UnitTests

ld: ファイルが見つかりません: /Users/mischabuckler/Library/Developer/Xcode/DerivedData/TRx-clxlusutxvcrlkddtqwtoxibcmhc/Build/Products/Debug-iphonesimulator/TRx.app/TRx clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (use - v 呼び出しを確認する)

4

7 に答える 7

47

これは、メイン ターゲットの名前を変更し、テスト ターゲットが更新されていない場合に発生します。テスト ターゲットのビルド設定を確認し、パスが新しいフォルダーを指していることを確認します。たとえば、ターゲット SuperAwesome の名前を単に Super に変更した場合、テスト ターゲットは、SuperAwesome.app/ に更新する必要があるときに、SuperAwesome.app/ フォルダー内のファイルを想定しています。

于 2014-10-13T05:06:37.550 に答える
7

分かりにくいかもしれませんが、あなたが上に投稿したメッセージは、アプリを構築するためのものではなく、単体テストを行うためのものです。また、出力ウィンドウの上部にも記載されていますが、それが変わることは期待できません。

スキームの名前を変更した可能性があります。そうすることで、単体テストは実際のビルドなどを指しています。アプリは実際には問題なくビルドされている可能性がありますが、単体テストのターゲットは失敗します。

問題がターゲットの名前を変更したことである場合は、UnitTest スキームでビルド設定に移動し、TEST を検索します。これにより、TEST HOST の設定が表示されます。これらの値が、メインの実行可能ファイルではなく、テスト アプリを呼び出したいものを指していることを確認してください。

私にとっては、テスト ターゲットの TEST_HOST のデバッグとリリースの両方の設定に「テスト」を追加しただけのケースでした。

これですべてビルドできましたが、厄介なことに、実際には両方のターゲットをビルドしています。少なくとも、両方ともコンパイルされています。

于 2014-11-27T16:01:36.830 に答える
5

したがって、これを見つけて不満を感じている他の人にとっては、アプリと単体テストの両方のターゲット依存関係を削除してから、アプリを一度ビルドしてから、それらを再度追加してアプリを再度ビルドすると、うまくいきました。 .

于 2013-04-20T07:03:28.817 に答える
4

ターゲットを複製してみて、ターゲットのコピーを使用して実行してください。

于 2015-01-12T08:22:53.147 に答える
2

私は Mach-o リンカ エラーが嫌いで、イライラします。とにかく、新しいスキームを作成することで同じ問題に直面しました。それは私にとって魔法のように機能しました。 新しいスキームの追加

于 2015-09-03T21:10:53.463 に答える
1

[プロジェクト] --> [ビルド設定] --> [テスト] --> [テスト ホスト] に移動します。テスト ホストのすべてのパスを削除し、クリーン ビルドを実行します。

于 2015-08-11T08:54:48.840 に答える