ksaitoの日記

日々試したことの覚え書き

Objective-CをDebian/Ubuntuで使う(2.0未サポートでした。)

移転しました。

自動的にリダイレクトします。

せっかく、Ubuntu環境でObjective-Cを使えると思ったのですが、Gnustep
ObjC2 FAQによるとObjective-C 2.0は未サポートでした。(ガーン)

@propertyを使おうと思うとコンパイルエラーになってしまいます。

#import <Foundation/NSObject.h>
#import <stdio.h>

@interface HelloWorld:NSObject {
  int count;
}

@property int count;

- (void)hello;
@end

@implementation HelloWorld

- (void)hello {
  printf("Hello, World!\n");
}
@end

int main(void) {
  id obj = [HelloWorld alloc];
  [obj hello];
  return 0;
}

コンパイルするとエラー...

$ make
gcc -MMD -MP -DGNUSTEP -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_LIBRARY=1 -D_REENTRANT -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -g -O2 -fno-strict-aliasing -fexceptions -fobjc-exceptions -D_NATIVE_OBJC_EXCEPTIONS -fgnu-runtime -fconstant-string-class=NSConstantString -I. -I/home/ksaito/GNUstep/Library/Headers -I/usr/local/include/GNUstep -I/usr/include/GNUstep -lgnustep-base hello2.m -o hello2
hello2.m:8: error: stray ‘@’ in program
hello2.m:8: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’
make: *** [hello2] エラー 1