1

作業中のプロジェクトがあり、クライアントから古いバージョンに戻すように求められました。しかし、新しいファイルについてはまだ多くの進歩があり、古いプロジェクトにインポートして戻したいと思っています。

私がインポートしているファイル(h、mおよびxibs)は、古いファイルと非常によく似ていますが、いくつかの変更があります。

そこで、古いプロジェクトからそれらを削除し、新しいプロジェクトからドラッグアンドドロップしました。

したがって、すべてが揃っているように見えますが、[再生]をクリックすると、次のエラーが発生します。

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_LoadingPage", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

なぜそれが起こるのか、そしてそれを修正する方法を誰かが知っていますか?

ありがとう

4

2 に答える 2

0

次のようにファイルをターゲットに含めてください

ここに画像の説明を入力してください

于 2012-12-16T08:23:31.843 に答える
0

リンカをリンクする場合、シンボルごとにコンパイルされたオブジェクトコードと、リンカが現在構築しているアーキテクチャが必要です。

まず、派生データを完全に削除してビルドフォルダーをクリーンアップすることから始めます。

次に、このファイルが、リンカーが欠落していると言うアーキテクチャ用にビルドされていることを確認します。ビルドログを確認してください。

ファイルにインスペクターのチェックボックスがあるのに、コンパイルビルドフェーズにチェックボックスがない場合があります。したがって、コンパイルされていません。[ビルドフェーズ]タブを開き、ファイルがdompiledファイルの中にあるかどうかを確認します。混乱して、コンパイルするコードではなく、ドープするリソースに実際にソースファイルを追加した可能性があります。

于 2012-12-16T08:38:59.403 に答える