2012-01-13 6 views
15

私はMBProgressHUDを使用しようとしています。私はクラスで.Mをプロジェクトに、ヘッダー、インポートされたヘッダを追加し、このようにibactionからMBProgressHUDを呼び出す:MBProgressHUD armv7エラー

Undefined symbols for architecture armv7: 
    "_OBJC_CLASS_$_MBProgressHUD", referenced from: 
    objc-class-ref in FormViewController.o 
    ld: symbol(s) not found for architecture armv7 
    collect2: ld returned 1 exit status 

がどのように修正することができます:私は、プロジェクトをビルドするとき、それはエラーが発生した

-(IBAction)submitForm:(id)sender{ 
    MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view]; 
    [self.view addSubview:HUD]; 
    HUD.labelText = @"Connecting"; 
    [HUD show:YES]; 
} 

それ?手伝って頂けますか?

+0

あなたのライブラリに 'arm7'アーキテクチャがないようです。自分自身でMBProgressHUDフレームワークのソースコードをコンパイルしたのですか、それとも '.framework'や静的な' .a'ファイルを自分でビルドせずにダウンロードしましたか? –

+0

https://github.com/jdg/MBProgressHUDから.h e .mをダウンロードしました – JackTurky

答えて

65

Xcodeプロジェクトでは、ファイルリスト(ワークスペースの左端にある)でMBProgressHUD.mファイルを選択し、そのファイルのファイルインスペクタを確認します。

"対象メンバーシップ"設定で、プロジェクトのチェックボックスがになります。になっていることを確認してください。

Make sure Target Membership is selected for your .m file

+0

私の場合、このチェックボックスはグレー表示されていました。私はファイルを削除し、それらを再追加しました。このチェックボックスは「ファイルの追加」画面に表示され、そこにはグレー表示されていません...私の問題を解決しました。どうも! – sixstatesaway

2

これはXCodeのインポートで奇妙なエラーです.MBProgressHUD(参照ONLY)を削除してXCodeに戻します。

動作しない場合は余分なステップがありません。
1. MBProgressHUDを削除します(参照のみ)。
2. MBProgressHUDに関連するコードをコメントします。
3.ビルドします。
4. MBProgressHUDをXCodeに追加します。
5.コードのコメントを解除します。
6.ビルドします。

5

だけの推測、しかしMBProgressHUD.mがあなたのビルドソースに追加相を構築していることを確認してください。

+0

はい:(しかし、このクラスは多くの多くのエラーを作成します:( – JackTurky

+0

+1はいMBProgressHUD.mを追加してくれました。 –

0

CoreGraphics.frameworkを追加してみましょう

関連する問題