我正在尝试编译一些由另一位程序员在 Mac 上编写的 Objective-C 代码。我正在使用 GNUstep for Windows 来尝试让这段代码在我的家用计算机上运行。我真的只需要运行他的代码位,并且对 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 使用这种旧语法。再说一次,我几乎不知道我在说什么,刚刚开始接触这个编程,所以如果我遗漏了重要信息,请告诉我。
谢谢你的时间!