せっかく、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