1) 使用苹果的平台,集成开发环境使用Xcode。但如果没有苹果平台,想在Windows环境下学习Objective-C,可以采用以下两种方法:
2) 在Windows环境下设置一个苹果虚拟机,但这对个人电脑的性能要求较高,不是所有个人电脑都可以,而且虚拟机的运行速度也较慢;
3) 采用Codeblocks IDE开发环境,对其进行配置,搭建成支持Object-C的编译、调试、运行的集成开发环境。这种方法对个人电脑的性能几乎没有要求,可以快速构建,本文介绍的是这一种方法。
1、安装Object-C的编译器
Objective-C的编译器有很多,本文介绍使用GnuStep,官网地址是 http://www.gnustep.org/ 。
HTTP 下载通道:http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/
FTP 下载通道:ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/
依次下载如下文件,并安装:
GNUstep MSYS System: gnustep-msys-system-0.30.0-setup
GNUstep Core: gnustep-core-0.34.0-setup
GNUstep Devel: gnustep-devel-1.4.0-setup
2、安装Object-C的集成开发环境
我们选择用CodeBlocks IDE作为Objective-C的集成开发环境,官方地址是:http://www.codeblocks.org/ 可以点此进入下载页面
3、开发环境配置
通过对Code blocks的配置,一步步完成Objective-C开发环境的搭建。CodeBlocks,可以看见这样的画面:
第一步:配置编译器
进入Settings->Compiler anddebugger...,选择GNU GCC Compiler编译器,如图:
之后进入Other Options 分页,录入:
-fconstant-string-class=NSConstantString -std=c99 如图:
第二步:连接器设置 Linkerstettings
在连接库(Link Libraries)中添加两个文件,如图。
它们在D:\GNUstep\GNUstep\System\Library\Libraries下面:
libgnustep-base.dll.a
libobjc.dll.a
第三步:指定搜索目录Searchdirectories(需要预先安装好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->Projecttree->Edit file types & categories... ,在Sources, 下面添加*.m到文件类型列表中。如图:
3) 进入Settings->Editor...,选择 Syntaxhighlighting,点击“Filemasks....”按钮,在弹出框尾部添加*.m 到文件类型。如图:
4) 点击“Keywords...”按钮 (紧靠Filemasks...按钮) 添加下面Object-C的关键字到EditKeywords列表中。如图。
@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[]) { NSLog(@"Hello,I'm Luka. How are you?'"); return (0); }//main
之后再开始编译运行:Buid –> Run… 如果出现以下窗口,恭喜你,你已经成功的搭建了Windows下的Objective-C的集成开发环境。