Windows系统中使用GNUstep 编译运行Objective-C程序

来源:互联网 发布:网上邻居输入网络凭证 编辑:程序博客网 时间:2024/05/01 18:14


首先要说明的是:

GNUStep 虽然可以在windows上安装使用但主要还是是面向Linux用户,而非Windows用户。如果有比较好的Linux开发经验,用GNUStep还是不错的。GNUStep的功能并不强,而且只有Foundation库,因此建议大家还是多花时间在 XCode 上比较划算的!


最近学习Objective-C,但是很穷用不起XCode。于是打算用GNUstep环境,命令行编译运行Objective-C文件。但是找了一些网上的教程,比较老了,而且都是相互copy。有些错误的地方都是传来传去。于是打算简单写一下正确的步骤。如果您有更好更简单更正确的方法,也请您留言,我将学习并改正。谢谢!

首先去http://www.gnustep.org/experience/Windows.html官网下载GNUstep的三件套。很多文章都是写的下载两个程序,其实现在GCC在第三个文件里了。仅仅前两个是不行的。

分别是GNUstep MSYS System、GNUstep Core、GNUstep Devel这三个工具。

下载好后安装,一路点击下去就可以了。

然后就可以使用了。程序->GNUstep->Shell。打开后等2秒就可以使用了。

给个例子吧:例如在F盘目录下用文本编辑一个文件Fraction.m,代码如下(最简单的Obj-C程序):

 

#import <Foundation/Foundation.h>  

int main(int argc, char *argv[])  {  

  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];  

  NSLog(@"Hello world!");  

  [pool drain];  

  return 0;  

}  

 


在Shell中输入命令:gcc -fconstant-string-class=NSConstantString -c Fraction.m -I /GNUstep/System/Library/Headers

这是目录里就会生成一个Fraction.o文件。(成功完成此步骤不会有任何显示在命令行中,若有显示说明有错误)

接下来输入命令gcc -o Fraction Fraction.o -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base

此时成功的话就会在目录里生成一个Fraction.exe文件。

最后使用命令 ./Fraction.exe会看到输出的结果,我的结果是:2011-03-07 19:30:33.078 Fraction[4824] Hello world!

成功!



当然如果嫌上面输入的命令太长,可以把命令事先写在一个sh文件里,运行时执行这个sh就行了:

例:

my.sh

#!/bin/sh

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


文件中的helloworld 和helloworld.m根据你自己的情况替换。


还有一篇文章也讲得很详细:http://blog.csdn.net/RabbitEatPumpkin/archive/2010/04/13/5480066.aspx

 

 

原创粉丝点击