Windows下搭建Objective-C运行环境

network | | 访问(52)

  一、下载安装GNUstep for Windows

  首先,需要下载GNUstep for Windows(http://www.gnustep.org/experience/Windows.html)的相关安装包。

  下载地址如下:

  HTTP 下载通道:http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/

  FTP 下载通道:ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/

  一般来说,如果是打算正常编译运行Objective-C程序的话,那么下面这五个是必选的:

  gnustep-core-0.28.0-setup.exe

  gnustep-msys-system-0.28.1-setup.exe

  gnustep-system-0.24.2-setup.exe

  gnustep-cairo-0.22.1-setup.exe

  gnustep-devel-1.4.0-setup.exe(别的地方写的是这个是可选的安装包,但我在安装的时候发现这里面有compiler的选项,所以还是安装下吧)

  这些是可选的:

  gorm-1.2.13-1-setup.exe

  SystemPreferences-1.1.0-2-setup.exe

  以上两个可选组件是有关图形界面设计的相关安装包,以后随着学习的深入肯定会用到的。

  我的建议是,有条件的话就都下下来吧,省得以后要用的时候找不到,反正也不占多少空间的。另外,上面我列出的文件名是我现在下载时的最新版本,大家自己下载的时候可以自己去找最新的版本下载,不过注意各个安装包版本的匹配,否则也有可能出现问题。

  下载完成之后,就可以直接安装了,安装路径默认是C:\GNUstep,可以自己设定,我调成了D:\GNUstep,不过注意路径中不要有中文路径,否则后面会出现错误。

  二、编写Objective-C源程序

  把上面这些安装包全部安装完成之后,就已经做好了最基本的工作,下面我来说下具体如何编译运行一个Objective-C程序。

  首先是要编写一个Objective-C源程序,这里就以最简单的Hello,Objective-C程序为例吧:

//hello.m 
   
#import <Foundation/Foundation.h> 
   
int main ( int argc, const char *argv[])  
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    NSLog(@ "\nHello,objective-C!\n" ); 
    [pool drain]; 
   
    return 0; 
}

  三、了解GNUstep自带的Shell

  在开始菜单的GNUstep文件夹中选择Shell并点击进入命令行模式下

  此时你就可以输入一些Linux命令了(前提是你知道的话),比如ls,cd 等。这里默认进入的目录是D:\GNUstep\home\用户名(下面我会都以D:\GNUstep作为程序安装目录来说明)。

  我们一般会把程序源代码放在程序文件的home目录下(D:\GNUstep\home\),这里我也是这样设定的(原则上放置路径是没有严格要求的,但是千万不能含有中文路径),所以就把hello.m放在了这个目录下面。

  此时,在Shell下键入“cd /home”就可以进入home目录下,然后键入“ls”就可以查看当前目录的文件。

  四、创建gcc.sh文件

  这个时候如果你以前用过gcc的话,可能就会想直接键入“gcc hello.m -o hello”来进行编译链接,这是不行的,因为此时还没有把一些相关的动态库及头文件包含进去(比如Foundation.h),这里我总结出的方法就是:

  在D:\GNUstep\bin目录下新建一个文件gcc.sh(一般情况下默认是没有该文件的,需要我们自己创建),具体内容如下,写好后保存即可。

  我们之所以这样设置,是为了省去每次重新编译一个新的程序的时候都要在命令行下输入一长串命令,这样弄,岂不是方便许多?

#!/bin/sh 
   
if [ $# -ne 1 ]; then 
echo "Usage: $0 name" 
exit 1 
fi 
   
gcc -g -o $1 $1.m \ 
-fconstant-string- class =NSConstantString \ 
-I /GNUstep/System/Library/Headers/ \ 
-L /GNUstep/System/Library/Libraries/ \ 
-lobjc \ 
-fobjc-exceptions \ 
-lgnustep-base \ 
-fconstant-string- class =NSConstantString \ 
-enable-auto-import 
   
exit 0

以上文件如果不能正常运行可以替换成下面的
#!/bin/sh 
gcc -o 名称 文件名称.m -I /GNUstep/System/Library/Headers/ -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base -fconstant-string-class=NSConstantString

上面的代码,直接执行gcc.sh 回车即可

  五、编译运行程序

  接下来就可以直接在Shell中对Objective-C程序进行编译链接了,方法如下:

  键入“gcc.sh hello”(即“gcc.sh 源程序文件名”,注意这里源程序文件名后不能加“.m”后缀,否则会有错误),此时gcc编译器已经将源程序生成了一个可执行文件hello.exe,接 着再键入“./hello.exe”即可运行该程序,我们可以看到此时成功输出了“Hello,objective-C!”。

  至此,我们已经成功搭建好了在Windows下的Objective-C运行环境,感谢国家,感谢党,感谢GNUstep!

  六、关于编辑器

  另外,至于编辑器的话,只要是Windows下的文本编辑器都可以,不过如果想获得更好的用户体验,比如语法识别及颜色区分,可以尝试学着使用vim编辑器,这个代码编辑器相信很多人都听说过,它是完全免费的,支持的程序语言非常多,并且只要熟悉了基本操作,用起来就会十分方便。

  下载地址:http://www.vim.org/download.php#pc

  这样我们就在Windows下成功搭建了Objective-C的运行环境,希望对你有所帮助。