1

アプリケーションに dejalactivityview インジケーター ビューを統合しようとしていますが、次のエラーが発生しています。

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

このライブラリは非常に簡単に統合でき、すべてを正しく行ったと確信しています。

[DejalActivityView activityViewForView:self.view];

かなり単純ですよね?まだ機能しません...助けてくれてありがとう!

アップデート:

私はこれを試しました:

 DejalActivityView *testvc;
[testvc activityViewForView:self.view];

しかし、「"DejalActivityView" の目に見える @interface がセレクター 'activityViewForView:self.view' を宣言していない」というエラーが (コンパイル前に) 発生しています。

ここに画像の説明を入力

4

4 に答える 4

2

OK、私は今同じものを手に入れました。.m ファイルと .h ファイルをプロジェクトにドラッグするだけでは、プロジェクトにリンクするソースとして .m ファイルが追加されないため、リンク エラーが発生します。これを解決したのは、DejalActivityView.m ソース ファイルをプロジェクト ターゲットの「ビルド フェーズ」の下の「コンパイル ソース」セクションに追加することでした。つまり、Project Navigator に移動して一番上の項目をクリックし、[Build Phases] タブを選択して、.m ファイルを [Compile Sources] セクションに追加します。プロジェクトを再度ビルドして実行すると、今回はリンカー エラーが発生しないはずです。

于 2012-08-12T06:30:46.980 に答える
1

あなたのクラス名は何ですか?再び機能しない場合は、スペルが正しいことを確認してから、クラス名を変更してください。クラス名が組み込みの名前またはプロジェクト内の既に使用されているメソッド名と一致する場合があります。

于 2012-05-03T14:00:01.290 に答える
0

.m および .h ファイルを実際にコピーしたかどうか、またはそれらを参照しているだけかどうかを確認してください。これらのファイルをプロジェクト フォルダーにコピーしていない場合、コンパイラはこれらのファイルをコンパイルできない可能性があります。

于 2012-05-03T14:04:31.347 に答える
0

これを確認してください

"no visible @interface for "DejalActivityView" declares selector 'activityViewForView:self.view'"

reply:-DejalActivityView のプロパティは不要

このファイルをviewcontroller.mにインポートしてください

#import "DejalActivityView.h"

このコードをviewdidloadに書いて確認してください

[DejalActivityView activityViewForView:self.view];

その後エラーが発生した場合は、このリンクからこれをダウンロードして実装し、コードを使用して作業します

于 2012-05-03T14:42:05.760 に答える