安装GNUstep并运行第一个objc程序

  在windows环境下安装GNUstep,运行objective-c程序,今天试了一下,记录一下操作步骤,
 
1,登陆http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/网站下载GNUstep的三件套。很多文章都是写的下载两个程序,其实现在GCC在第三个文件里了。仅仅前两个是不行的。
2,然后按照下面的顺序安装这四个文件到同一个目录(例如:C:\GNUstep):
      (1.)gnustep-msys-system-xxx.exe
      (2.)gnustep-core-xxx.exe
      (3.)gnustep-devel-xxx.exe
      (4.)gnustep-cairo-xxx.exe

 

3,给个例子吧:例如在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输入 cd f:\ 切换到F盘目录,然后

在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会看到输出的结果,我的结果是:2014-12-20 15:30:33.078 Fraction[15344] Hello world!

成功!

4,问题解决

(1),unrecognized option '-class=NSConstantString' 错误,原因是多了空格。

(2),执行./Fraction.exe的时候,报错,reason:bad sequence length in constant string,是因为Fraction.m文件的保存格式应该为utf-8.

 

重要命令:

go to the path: cd f: cd iOS/codeOfObjc

create xxxx.o file: gcc -fconstant-string-class=NSConstantString -c hello.m -I/GNUstep/System/Library/Headers

create xxxx.exe file: gcc -o hello hello.o -L/GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base run the xxxx.exe file: ./helle.exe

posted @ 2014-12-20 13:45  塔斯曼  阅读(320)  评论(0编辑  收藏  举报