Objective-C是苹果软件的编程语言,想要上机学习、调试,有一个集成开发环境(IDE)方便很多。有三类方法搭建Objective-C的集成开发环境:1) 使用苹果的平台,集成开发环境使用Xcode。但如果没有苹果平台,想在Windows环境下学习Objective-C,可以采用以下两种方法:
2) 在Windows环境下设置一个苹果虚拟机,但这对个人电脑的性能要求较高,不是所有个人电脑都可以,而且虚拟机的运行速度也较慢;
3) 采用Codeblocks IDE开发环境,对其进行配置,搭建成支持Object-C的编译、调试、运行的集成开发环境。这种方法对个人电脑的性能几乎没有要求,可以快速构建,本文介绍的是这一种方法。
1、安装Object-C的编译器Objective-C的编译器有很多,本文介绍使用GnuStep,网址是http://www.gnustep.org/experience/Windows.html,从这里可以下载Windows版本的gcc编译器:
进入下载页面,下载上面3个软件包,进行安装,例如安装到D:\GNUstep。关于这3个软件包的作用,可以在网上查询,不再赘述。
2、安装Object-C的集成开发环境我们选择用CodeBlocks IDE作为Objective-C的集成开发环境,下载地址是:http://www.codeblocks.org/。
3、开发环境配置通过对Code blocks的配置,一步步完成Objective-C开发环境的搭建。CodeBlocks,可以看见这样的画面:
第一步:配置编译器进入Settings->Compiler and debugger...,选择GNU GCC Compiler编译器,按“Copy”按钮,并重新命名为“GNUstep MinGW Compiler“并保存。如图:
之后进入Other Options 分页,录入:
-fconstant-string-class=NSConstantString -std=c99 如图:
第二步:连接器设置 Linker stettings在连接库(Link Libraries)中添加两个文件,如图。
它们在D:\GNUstep\GNUstep\System\Library\Libraries下面:
libgnustep-base.dll.a
libobjc.dll.a
第三步:指定搜索目录Search directories(需要预先安装好GNUstep)1) Compiler(编译器)设置为D:\GNUstep\GNUstep\System\Library\Headers;
2) Linker(连接器)设置为D:\GNUstep\GNUstep\System\Library\Libraries;
第四步:添加Objective-C文件类型支持1) 进入Settings->Environment...,选择 Files extension handling 添加*.m。如图:
2) 进入 Project->Project tree->Edit file types & categories... ,在Sources, 下面添加 *.m到文件类型列表中。如图:
3) 进入 Settings->Editor...,选择 Syntax highlighting,点击“Filemasks....”按钮,在弹出框尾部添加*.m 到文件类型。如图:
4) 点击“Keywords...”按钮 (紧靠Filemasks...按钮) 添加下面Object-C的关键字到Edit Keywords列表中。如图。 @interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self
|
4. 代码测试上述开发环境配置完成后,就可以开始代码测试了。
首先,新建一个工程,选择File->New->Project…,会出现一个工程类型窗口,选择Console Application,然后按照工程建立指引,建立一个mytest的工程,并将main.c的文件更名为main.m,录入以下代码:
#import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSLog(@"%@",@"hello world"); [pool drain]; return 0; } 如图:
之后再开始编译运行:Buid –> Run… 如果出现以下窗口,恭喜你,你已经成功的搭建了Windows下的Objective-C的集成开发环境。
|