Objective-C是在C语言的基础上的扩展,是一种面向对象的编程语言。这里假设读者有面向对象的编程基础。
1. 下载并安装开发环境
到http://www.gnustep.org/experience/Windows.html下载以下四个文件:
Package | Required? | Stable | Unstable | Notes |
---|---|---|---|---|
GNUstep MSYS System | Required | 0.28.1 | - | MSYS/MinGW System |
GNUstep Core | Required | 0.28.0 | - | GNUstep Core |
GNUstep Devel | Optional | 1.3.0 | - | Developer Tools |
Cairo Backend | Optional | 0.22.1 | None | Don't Use. Developer Only |
并依次进行安装,安装路径最好是在根目录下没有中文以及空格的文件夹中,我的安装路径是D:\GNUStep
安装后的文件夹结构为:
2. 启动shell
打开开始->程序->GNUStep->Shell,shell界面如下:
启动时的路径是位于D:\GNUstep\msys\1.0\home\60377,其中60377为用户名,为了方便起见,我们后边直接将程序放到这个文件夹下,这里我们称之为HOME。
3. Hello World程序
在HOME中创建一个文件名为main.m的文件,其中m为扩展名,内容如下:
然后在shell中输入:
然后可以通过ls命令查看是否生成了mian.exe文件,如果生成了,则在shell中输入main.exe来查看执行结果,如下图所示:
由于gcc命令太长,可以采用Makefile,具体如下:
在HOME中创建一个名为Makefile的文件,没有扩展名,内容如下:
注意:gcc前边是一个tab。
然后在shell中执行make命令,会自动生成main.exe,如下图:
4. 小结
本节仅介绍了环境安装和hello world程序,后边再讲解语法等内容。
在shell中输入如下命令出错:
gcc -o main main.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
|
C:/GNUstep/GNUstep/System/Library/Headers/Foundation/NSException.h:44:2: error:
#error The current setting for native-objc-exceptions does not match that of gnu
step-base ... please correct this.
说现在对native-objc-exceptions的设置与gnustep-base不匹配,native-objc-exceptions、gnustep-base是什么东东?又要在哪里设置呢?
遇到问题我们一定不要灰心、害怕,要坚信没有解决不了的问题!
我们要在C:\GNUstep\GNUstep\System\Library\Headers\GNUstepBase(请根据你的安装路径自行修改)中找到GSConfig.h文件:
用记事本、EditPlus、Notepad++等等打开,找到BASE_NATIVE_OBJC_EXCEPTIONS(没错,这就是上面的native-objc-exceptions),将其键值由1改为0:
保存并关闭。这时再次在shell中输入:
gcc -o main main.m -I/GNUstep/System/Library/Headers/ -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
|
没有看到错误提示,哈哈,好像成功了,再输入ls命令看到生成了main.exe,打开home目录也确实生成了:
没错,我们看到又出错了!我们执行main.exe,它却说命令没有找到。。。
没事儿,很好解决,我们在前面加上./,如下:
./main.exe
|
这样就成功了!如上图,输入./main也是可行的。