0

私の最初の質問であるため、軽微な間違いをお許しください...フィードバックはまだ感謝しています。

iPhoneとArduino(Mini Arduino Pro)の間で通信するために、Redparkケーブルを使用しようとしています。私のコーディングでプロジェクトをビルドできませんでした。解決策を何日も探しましたが、他の人にとってうまくいったことは私にとってはうまくいきませんでした。
これは私のエラーです:

アーキテクチャ armv7 の未定義シンボル:
"_OBJC_CLASS_$_RscMgr"、参照元: ViewController.o ld
の objc-class-ref : アーキテクチャ armv7 のシンボルが見つかりません 。呼び出しを見るために)

しかし、このコード行が問題の要因であることがわかりました。(同様に、削除すると、プロジェクトのビルドは成功しますが、機能しません。)

ViewController.m 内 -(void)viewDidLoad

rscMgr = [[RscMgr alloc] init];

フレームワーク (「バイナリとライブラリのリンク」): ExternalAccessory、UIKit、MediaPlayer、CoreGraphics、Foundation。

ViewController.h (不要なものを削除)
#import <UIKit/UIKit.h> #import "RscMgr.h"
@interface ViewController : UIViewController <RscMgrDelegate> {
RscMgr *rscMgr;
}
@property (nonatomic, retain) RscMgr *rscMgr;
@end


ViewController.m (不要なものを削除)
#import "ViewController.h"
#import "RscMgr.h"
@implementation ViewController
@synthesize rscMgr;
- (void)viewDidLoad
{
[super viewDidLoad];
rscMgr = [[RscMgr alloc] init];
[rscMgr setDelegate:self];
}
-(void) cableConnected:(NSString *)protocol{
[rscMgr setBaud:9600];
[rscMgr open];
}
@end


RscMgr.h およびredparkSerial.hへのリンク

redparkSerial.h と RscMgr.h の両方に .m ファイルはありません。

4

1 に答える 1

1

これはリンカー エラーです。ライブラリヘッダーファイルを正しく参照しているため、コンパイラは個々のファイルをオブジェクトファイルにコンパイルできますが、リンカーがそれらをすべてアプリケーションに結合するようになると、ライブラリ自体が存在しないことがわかります。ライブラリ自体をプロジェクトに追加する必要があります。ヘッダーはそれへのインターフェースを説明するだけで、ライブラリ自体は含まれていません。

最近のバージョンの Xcode でこれを行うには、通常、スタティック ライブラリ (ファイル名の末尾が.a) をプロジェクトにドラッグするだけです。ただし、このライブラリのドキュメントを実際に確認し、推奨されるインストール手順に従う必要があります。

于 2013-07-22T15:55:10.940 に答える