//+hkx
安装的四个文件:
1.安装位置:D:\GUNstep,
2.此时的Home位置:D:\GNUstep\msys\1.0\home\user,
3.用EditPlus在Home下新建main.m:
#import <Foundation/Foundation.h>
int
main(
int
arvc,
char
* argv[])
{
NSLog(@
"Hello world!"
);
return
0;
}
4.新建Makefile文件:
gen:
gcc -o main main.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
5.shell下输入make
6.ls查看是否生成main.exe
7.shell下输入:./main.exe
//-hkx
以下以Windows系统为例,说明如何构建一个练习Objective-C语言的环境。
一、到:http://www.gnustep.org/resources/sources.html#windows 下载开发工具
(1)、gnustep-msys-system-0.25.1-setup.exe-----必须
(2)、gnustep-core-0.25.0-setup.exe----必须
(3)、gnustep-devel-1.1.1-setup.exe----可选
(4)、gnustep-cairo-0.22.1-setup.exe----可选
GNUstep Windows Installer提供了Windows平台下的Object-C的模拟开发环境,一共有四个软件包,其中GNUstep System和GNUstep Core是必装的,GNUstep Devel和Cairo Backend是选装的。只安装前两个就够了。安装顺序根据官方的说明分别是(1)、(2)、(3)、(4),不要乱掉顺序。第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习 Object-C的话,这个包也是必须要安装,第四个软件包是安装glib等库,这个包安装不安装根据具体情况而定。最好都安装,省得以后要用的时候又要 重新找资源。
二、安装
按照安装向导完成即可。
注:我在我的电脑上全部安装了四个文件,我只安装前两个文件后在shell中提示:gcc command not found。后来我安装第三个文件的过程中才发现有个安装gcc compile选项。安装完第三个文件后程序可以完好运行。我想也许网上的那些说法都是针对以前的版本吧。现在我的这个版本看官网上对这四个文件的介绍只说了第四个可以不用。
三、测试
安装完成后,在开始菜单里的GNUstep选项里执行shell,就能打开命令行。
然后进入D:\GNUstep\home\Administrator(【安装路径】我的是Administrator,可能有的不一样)目录,在这里用你喜欢的工具(现在UltraEdit和 Notepad++编辑器好像可以代码高亮)编写Object-C程序。
或者用vim编辑器(功能强大但是我用的不熟):
> vim main.m
(在你的GNUstep安装目录下面的home\<username>文件夹里面,比如我的是D:\GNUstep\home\Administrator\ 就会生成一个main.m文件)
添加如下内容
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSLog (@"hello world");
[pool drain];
return 0;
}
四、配置环境变量:
这一步很重要。GNUstep.sh是用来设置GNUstep开发环境变量的,如果没有执行,就会有很多头文件,库文件,命令找不到在一个目录里写好了源代码以后,编写一个make配置文件,名字必须叫GNUmakefile(没有扩展名),内容是:
include $(GNUSTEP_MAKEFILES)/common.makeTOOL_NAME=TestTest_OBJC_FILES=main.minclude $(GNUSTEP_MAKEFILES)/tool.make
可以修改上面的黑体部分
注:Test可以理解为项目名,main.m是你刚才创建的.m文件然后就是 make 命令运行成功就可以看到新增了一个obj目录,里面就有你要的可执行文件和.obj文件。然后再shell中输入 ./obj/Test 就可以出现运行结果了。