学习Object-c如果使用的是Windows,一般推荐使用虚拟机,但是太重量级了,先要下载OS-X,又要下载x-code。这里推荐一种比较简便的方式,使用code-block来搭建简易的Object-c学习环境,下载地址是:http://www.codblocks.org/。
Objective-C的编译器有很多,这里使用GnuStep,网址是http://www.gnustep.org/experience/Windows.html,从这里可以下载Windows版本的gcc编译器,共有四个软件包,其中GNUstep System和GNUstep Core是必装的,GNUstep Devel和Cairo Backend是选装的(用迅雷拖要快点)。
下载并安装好Code-block 和 GnuStep 之后,对Code-block进行配置。
接下来找到Other Options 选项卡,写入:-fconstant-string-class=NSConstantString -std=c99 :
接下来设置静态链接库,在Link settings 中进行添加,需要添加的.a文件在:C:GNUstepGNUstepSystemLibraryLibraries: libgnustep-base.dll.a 和 libobjc.dll.a,
接下来在Search directories 中的Compiler选项卡中增加:C:GNUstepGNUstepSystemLibraryHeaders;在Linker选项卡中增加:C:GNUstepGNUstepSystemLibraryLibraries。这里就不截图了。
进入Settings->Environment...,选择Files extension handling 添加*.m;进入 Project->Projecttree->Edit file types & categories... ,在Sources, 下面添加*.m到文件类型列表中。
进入Settings->Editor...,选择 Syntaxhighlighting,点击“Filemasks....”按钮,在弹出框尾部添加*.m 到文件类型;点击“Keywords...”按钮 (紧靠Filemasks...按钮) 添加下面Object-C的关键字到EditKeywords列表中:@interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self。
最后进行测试,选择File->New->Project…,会出现一个工程类型窗口,选择Console Application,然后按照工程建立指引,建立一个mTest的工程,并将main.c的文件更名为main.m,写入代码:
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSDate *now = [NSDate date]; NSLog(@"This NSDate object lives at %p", now); NSLog(@"The date is %@", now); [pool release]; return 0; }
编译运行上述代码,结果如下: