0

ゲームを iOS に移植しようとしていますが、問題が発生しています。次のメソッドを持つ CKSprite というクラスがあります。

- (id)initWithFile:(NSString *)fileName effect:(GLKBaseEffect *)effect 
{     
    if ((self = [super init])) 
    {
        //some stuff
    }
    return self;
}

次に、CKPLayer というサブクラスを作成します (現時点では、継承するもの以外に他のメソッドやプロパティはありません。

@property (strong) CKPlayer *player1;

しかし、親メソッドを使用して初期化しようとすると:

self.player1 = [[CKPlayer alloc] initWithFile:@"Images/parrot.png" effect:self.effect];

次のエラーが表示されます。

アーキテクチャ i386 の未定義シンボル: "_OBJC_CLASS_$_CKPlayer"、参照元: CKViewController.o ld の objc-class-ref: アーキテクチャ i386 のシンボルが見つかりません。clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (-v を使用)呼び出しを見るために)

このようなことをしようとするのはこれが初めてなので、おそらくばかげたことをしたのでしょう。

どんな助けでも大歓迎です。

#import "CKSprite.h"

@interface CKPlayer : CKSprite


@end
4

1 に答える 1

1

リンカーには、クラス CCKPlayer の実装がありません。「現時点では他のメソッドやプロパティがない」ため、実装するのを忘れただけかもしれません。その場合は、次のようなファイルを追加するだけです。

#import "CKPlayer.h"

@implementation CKPlayer
@end

そしてldは幸せになるべきです

于 2012-07-15T19:34:36.890 に答える