0

別のプログラマーが Mac で作成した Objective-C コードをコンパイルしようとしています。私は Windows 用の GNUstep を使用して、自宅のコンピューターでこのコードを動作させようとしています。私は本当に彼のコードビットを実行する必要があり、Objective-C の経験はほとんどありません (読み取り: ゼロ)。コードは次のとおりです。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  AntennaPatternGenAppDelegate.m
//  AntennaPatternGen
//
//

#import "AntennaPatternGenAppDelegate.h"

@implementation AntennaPatternGenAppDelegate

@synthesize window;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Insert code here to initialize your application 
}

@end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

ヘッダーファイルは次のとおりです。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//  AntennaPatternGenAppDelegate.h
//  AntennaPatternGen
//
//

#import <Cocoa/Cocoa.h>

@interface AntennaPatternGenAppDelegate : NSObject <NSApplicationDelegate> {
    NSWindow *window;
}

@property (assign) IBOutlet NSWindow *window;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

次のコマンドを使用してコンパイルを試みています。

gcc -o AntennaPatternGenAppDelegate AntennaPatternGenAppDelegate.m -I /GNUstep/System/Library/Headers \
-L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base

「「NSApplicationDelegate」のプロトコル宣言が見つかりません」というエラーと、構文エラーのように見えるいくつかのエラーが表示されます(プログラム内の「@」の迷走、およびそこにないいくつかの予想される識別子)

私はこの問題をグーグルで調べてきました.Objective Cでプロトコル宣言が行われる方法は、ある時点で変更された可能性がありますか? 人々は 10.6 と以前のバージョンの OSX の違いについて話しています... これが私が直面している同じ問題なのか、それとも GNUstep をこの古い構文で動作させる方法なのか、私にはわかりません。繰り返しますが、このプログラミングに取り掛かり始めたばかりで、何について話しているのかほとんどわかりません。重要な情報を省略している場合はお知らせください。

御時間ありがとうございます!

4

2 に答える 2

1

私も同じ問題を抱えていました。しかし、このNSApplicationDelegate@interface AntennaPatternGenAppDelegate から削除します: NSObject NSApplicationDelegate { 正常 に動作しました (エラーなしでコンパイルされました)。

于 2012-01-03T13:08:48.023 に答える
0

GNUStep を使用したことはありませんが、プロトコルの名前が変更されたようですGSAppDelegateProtocol。それへの参照を変更してみNSApplicationDelegateて、何が起こるかを確認できます。

編集:

考え直してみると、これは非公式のプロトコルのように見えるので、ヘッダー ファイルから完全に (尖った角かっこも含めて、それらも削除して) 取り出せば、すべて正常に動作するはずです。

于 2011-07-12T20:55:07.177 に答える