1、下载并安装GNUstep
有三个文件时必须安装的
gnustep-msys-system-0.30.0-setup.exe,gnustep-core-0.34.0-setup.exe,gnustep-devel-1.4.0-setup.exe
下载地址:http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/
依次安装上述文件到同一个目录,我的是F:\GNUstep目录
2、GNUstep Shell 下Linux命令
打开:开始菜单 -> 所有程序 -> GNUstep -> Shell
进入/home目录,创建一个oc1的子目录:
1 cd /home
2 mkdir oc1
3 cd oc1
这个oc1的目录位于磁盘上的F:\GNUstep\msys\1.0\home\oc1
3、编译并运行OC程序
在F:\GNUstep\msys\1.0\home\oc1目录下新建hello.m文件
#import <Foundation/Foundation.h>
int main ( int argc, const char *argv[]) {
//@autoreleasepool {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@ "Hello GNUstep" );
[pool drain];
//}
return 0;
}
说明:由于 GNUstep 带的 gcc 编译器不支持 Objective-C 2.0 ,因此不支持 @autoreleasepool 这个指令,所以将它注释掉。
$ gcc -o oc1 hello.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
上面这个命令除了 -o 后面的参数你可以更改,其他都必须照写,否则就会出错。
参数说明,-I表示头文件查找的路径,-L表示库文件查找 路径,-l表示需要链接的库文件。但是,-fconstant-string-class=NSConstantString 对于这个参数可能比较陌生,这个参数主要是指定常量字符串所使用的class。
编译完就会在当前目录生成一个名为 oc1.exe 的可执行程序。
输入 ./oc1.exe 命令执行这个程序,执行结果:
另附GNUstep下载地址:
gnustep-msys-system-0.30.0-setup.exe:http://pan.baidu.com/s/1jGmsTpk
gnustep-core-0.34.0-setup.exe:http://pan.baidu.com/s/1kTJ0RYJ
gnustep-devel-1.4.0-setup.exe:http://pan.baidu.com/s/1ntOg177