0

以前使用していたフレームワークを完全に更新していたので、ファイルを更新する簡単な方法だけではありませんでした。

私のプロジェクトでは、現在のフレームワークを削除して、新しいフレームワークを追加しました。いくつかのテストの後、古いバージョンに戻したかったので、新しいフレームワークを削除して、古いフレームワークを再度追加しました。したがって、基本的にコードやファイルは何も変更されていません。

しかし、それでも、今ファイルをビルドしようとすると、このリンクエラーが発生します。ここでも、コードに変更は加えられていません。

ld:/Users/wouter/Library/Developer/Xcode/DerivedData/WiC-dubdfuwbsdrffuatbuonqmpzuvcz/Build/Intermediates/WiC.build/Debug-iphonesimulator/WiC.build/Objects-normal/i386/Documentの重複シンボル_OBJC_IVAR_ $ _ DocumentViewController.thumbPage -B98A1B42C236E973.oおよび/Users/wouter/Library/Developer/Xcode/DerivedData/WiC-dubdfuwbsdrffuatbuonqmpzuvcz/Build/Intermediates/WiC.build/Debug-iphonesimulator/WiC.build/Objects-normal/i386/DocumentViewController-B98A1B42アーキテクチャi386

clang:エラー:リンカーコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)

すべてが以前と同じである場合、なぜこのエラーが発生するのでしょうか。私の推測では、Xcodeは削除されたファイルへの参照を(削除するように要求したとしても)保持していると思います。

これを取り除く方法について何かアイデアはありますか?

4

3 に答える 3

2

同じリビジョンでよろしいですか?gitでそのバージョンに戻ることはできますか?

つまり、プロジェクトはivar DocumentViewController.thumbPageの少なくとも2つのコピーを見つけています...あなたは:

  1. すべてをクリーンアップする
  2. ビルドディレクトリを削除します

それが機能しない場合は、プロジェクトまたはproject.pbxprojファイルを(テキストエディターを使用して)検索し、これを含むターゲットに追加されるオブジェクトまたは2つのフレームワークを見つけることができるかどうかを確認します。

それでも問題が解決しない場合は、.xcodeprojディレクトリを削除し、新しいディレクトリを作成してすべてのファイルを追加します...しかし、これは最後の手段です。

于 2012-05-29T04:26:07.440 に答える
1

誤って.hファイルではなく.mファイルを#importedしたことは間違いありません。#importが読み取れることを確認してください

#import DocumentViewController.h

クリーンアップを実行して、再度実行します。

于 2012-05-29T04:17:53.093 に答える
1

私の「コンパイルソース」は以前に削除された同じファイルへの参照を保持していたことが判明しましたが、それを削除しようとしても役に立ちませんでした。Clean and Cleanビルドフォルダを実行した後、問題は魔法のように修正されました。

于 2012-05-29T04:34:37.237 に答える