web-dev-qa-db-ja.com

ld:ファイルが見つかりません:リンカコマンドは終了コード1で失敗しました

Xcodeでプロジェクトをビルドすると、次のエラーが発生します。

ld:ファイルが見つかりません

/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events clang:error:リンカコマンドが終了コード1で失敗しました(呼び出しを表示するには-vを使用)

過去1時間、このエラーが発生しています。解決策はありますか?コードはiOS 7およびxCode 5.で正常に機能しました。 iOS8の場合、このエラーが発生します。

フレームワークの使用:

  • CoreTelephony
  • Mapkit
  • Facebook.SDK v3.20
  • 基礎
  • CoreGraphics
  • UIKitフレームワーク

完全なエラー:

<pre>
Ld /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests normal arm64
    cd /Users/MacBookPro/Desktop/Social_Events/Social_Events/Social_Events
    export IPHONEOS_DEPLOYMENT_TARGET=7.1
    export 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"
</pre>

>/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Arch arm64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -L/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/Developer/Library/Frameworks -filelist /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests.LinkFileList -dead_strip -bundle_loader /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events -framework XCTest -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.1 -framework XCTest -framework UIKit -framework Foundation -Xlinker -dependency_info -Xlinker /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests_dependency_info.dat -o /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Intermediates/Social_Events.build/Debug-iphoneos/Social_EventsTests.build/Objects-normal/arm64/Social_EventsTests

>ld: file not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
clang: error: linker command failed with exit code 1 (use -v to see invocation)

>(null): File not found: /Users/MacBookPro/Library/Developer/Xcode/DerivedData/Social_Events-cfnteabiivwfdzcoulzznhmgobhy/Build/Products/Debug-iphoneos/Social_Events.app/Social_Events
51
user4200570

プロジェクトの名前を変更し、Testsがもう見つからないため、このエラーが発生している可能性があります。これは簡単に修正できます。

このようにXcodeで解決してください:

  1. プロジェクトナビゲータからプロジェクトを選択します。
  2. 選択する [Your project's Tests]ターゲットの下
  3. Generalタブの下で、Host Applicationドロップダウンから
  4. ビルドして実行します。

Screenshot

この問題は、プロジェクトの名前を変更しましたが、テストでそれを見つけることができなかったために起こりました。

156
Jose Llausas

問題は、製品の名前を変更した後でも、Testsターゲットが以前のアプリ名を探していることです。

テストターゲットを選択し、ビルド設定でTestHost値を変更して、次の方法で新しい製品名に対応させます。

$(BUILT_PRODUCTS_DIR)/YourNewProductName.app/YourNewProductName
29

製品の名前を変更して解決しました。

アプリケーションのターゲットで、ビルド設定を選択します。

[パッケージ化オプション]で、製品の名前をエラーに表示されている名前に変更する必要があります。

問題が解決し、コードのコンパイルが開始されました。私のテストケースも実行しています。

13
Selvin

私は同様の問題を抱えていました-それは、Cocoapodsを使用していて、.xcworkspaceファイルの代わりに.xcodeprojファイルを開いていたためです... doh!

12
Darren

派生データのクリーンアップを試みましたか?

Xcode5->Organizer->Projects->Select your project->Delete the derived data.
4
thatzprem

「Social_EventsTests」ターゲットを削除してください。

2
vahotm
  1. PuzzleGameTestsという名前のテストのビルド設定に移動します。
  2. テスト設定に移動して、$(BUILT_PRODUCTS_DIR)/PuzzleGame.app/PuzzleGameを記述します
  3. きれいにして構築する

注:PuzzleGameは、私のプロジェクトの新しい名前(製品名)です。 RandomNumberは私のプロジェクトの古い名前(製品名)です。

2
pkc456

「フレームワークが見つかりません」という問題がありました。私のプロジェクトの名前を変更した後です。

プロジェクト設定に移動し、ターゲットを選択します(notプロジェクト)。 [全般]タブで、[リンクされたフレームワークとライブラリ]を見つけ、古い名前を削除します。

2
Vlad Pulichev

FBSDKCoreKit.frameworkの追加中に同様の問題が発生しましたが、解決策は次のとおりです。

  1. frameworksがすでに追加されている場合は、オプションremove all referencesで削除します。
  2. frameworksをプロジェクトに配置するgroupにまっすぐにドラッグアンドドロップします。
  3. 場所のあとから再ドラッグまたは変更しないでください

注:xcodeでフレームワークをドラッグアンドドロップすると、<yourproject> -> Targets -> <yourproject> -> Search Paths -> Framework Search Pathsの下にフレームワーク検索パスが自動的に設定されます。フレームワークを再配置すると、Framework Search Pathsは空になり、linker error , framework not foundになります。

0
Dashrath

既存のプロジェクトに単体テストターゲットを追加すると、同様の問題が発生しました。あらゆる種類のエラーが発生しました。最終的に実行するには、いくつかのループを実行する必要がありました。以下にリストする

  1. テストターゲットのヘッダー検索パスの下のエントリが、メインプロジェクトフォルダーのヘッダー検索パスのエントリと一致することを確認します。

  2. ポッドを使用している場合、「Firebaseが見つかりません」などのエラーが発生する可能性があります。このためには、次のコード行をポッドファイルに追加し、ポッドインストールを実行します。

    ターゲット 'YourProjectNameTests' do

    継承! :search_paths

    #テスト用ポッド

    終わり

  3. また、Bridgeging header file not foundエラーが表示される場合は、ビルド設定のSwift compile code general

  4. また、@ Jose Llausasが言及した手順に従う必要があります。

0
SaketGupte