Windows下利用GNU 开发Objective-C

除了在 Mac 系统上使用 Objective-C,你还可以在 Windows 上下载并安装 GNUstep 和 Objective-C 环境,至于GNUstep是什么东西,有什么用处,这里做个简单的介绍:GNUstep就是提供类似Cocoa(苹果OS的开发框架)的API和工具,目前支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使用的。这个项目使Objective C能在多数流行平台上开发和运行。有关详细的介绍开始参考GNUstep的官方网站。
接下来我们就介绍详细的安装和使用的步骤。


下载 GNUstep

GNUstep 环境可通过 Windows 下的 MinGW 工具来使用,MinGW 是 GNU 编译工具在 Windows 下的移植版本。安装 GNUstep 包括安装 MinGW 和 GNUstep,这两者都可以通过这里下载:http://www.gnustep.org/experience/Windows.html.

MinGW 包含 GNUstep System 和 GNUstep Core,必须先安装这二者。

主要的四个软件包:GNUstep MSYS SystemGNUstep CoreGNUstep DevelCairo Backend。其中,前两个软件包是必须要安装的,第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装,第四个软件包是安装glib等库,这个包安装不安装根据具体情况而定。

安装 MinGW 和 GNUstep

上面所需的包下载完后,就可以开始安装,图形化的安装向导界面,我们将安装目录指定为 C:\GNUstep

Installing Objective-C on Windows

一旦 MinGW 安装完毕,即可安装 GNUstep Core 包

运行 GNUstep Shell

想开始使用 Objective-C 和 GNUstep, 需要启动 GNUstep shell ,从开始菜单中的 GNUstep 中运行 Shell,如下图所示:

The GNUstep shell running on Windows


安装完的测试

该 Shell 环境是一个最小化版本的 Linux 或 Unix 环境,如果你对此不熟悉,不怕,你也可以使用 Windows 下你熟悉的编辑器。

在“开始”菜单中“所有程序”下可以找到“GNUstep” -> “shell”,就会出console窗口,可以试试一些Linux命令(ls,cd,mkdir等)。

编写一个Objective C代码进行编译运行测试。在这里就用经典的“hello world”来说明:
#import <Foundation/Foundation.h>
int main (int argc, const char *argv[]) {
    NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
    NSLog(@"Hello World!");
    [pool drain];
    return 0;
}

    在Windows环境下用文本编辑器(Editplus,UE等),编写上述代码,并且保存到GNUstep安装目录下的/home下,取名为helloworld.m。

   (注意如果gnu 安装在c盘,就保存在其他地方,在shell 里cd 那就ok,否则 总是出现No such file or directory)在GNUstep的console窗口命令行下,

    1、cd /home

    2、gcc -o helloworld helloworld.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

    3、运行helloworld.exe

说明:第二步中的一些参 数明说,如果熟悉Linux/Unix下C/C++编译的话,上述参数应该很熟悉,-I表示头文件查找的路径,-L表示库文件查找路径,-l表示需要链接 的库文件。但是,-fconstant-string-class=NSConstantString  对于这个参数可能比较陌生,这个参数主要是指定常量字符串所使用的class。  

 

改进:由于在GNUstep的窗口下不能复制,粘贴,手动打字容易出错,所以,可以写个shell脚本,取名为test.sh,内容如下:

gcc -o "$1" "$2" -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base

然后和上面的一样,在GNUstep的console窗口命令行下  

    1、cd /home

    2、sh test.sh  helloworld  helloworld.m

    3、运行helloworld.exe

说明:test.sh中的$1 和 $2分别表示获取执行test.sh时传进来的第1个和第2个参数,然后通过sh test.sh  helloworld helloworld.m就是执行test.sh脚本并传入两个参数,采用传参数的目的是让这个test.sh成为一个编译的模板,这样每次只要传不同的参数就可以编译运行。

    helloworld.exe编译并运行成功的话,说明windows下Objective C开发环境就搭建好了,这样就可以开始以廉价方式的学习Objective C


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值