原帖地址:
http://www.cclo.idv.tw/~cclo/blog/archives/2004/12/gnustep_env.html
有部分修改调整
这篇文章将会介绍如何在MS-Windows 系统中利用GNUstep 编译Objective-C 的程式。
非技术人员,或是对Objective-C 没有兴趣的人可以跳过。 ^^;
使用msys 编译的方法:
首先至GNUstep 的网站下载最新的installer。 (下载版号最新的执行档就可以了)
(到达 http://www.gnustep.org/experience/Windows.html ,下载GNUstep System和GNUstep Core这两个Required包)
安装installer。 (以下说明假设GNUstep 是装在C:\GNUstep 这个目录下)
开启msys。
在home directory 下开一个叫做.profile 的档案,里面放这两行设定:
export OBJC_INCLUDE_PATH=/c/GNUstep/GNUstep/System/Library/Headers/
export LIBRARY_PATH=/c/GNUstep/GNUstep/System/Library/Libraries/
说明:这两行是在设定环境变数,分别是设定Objcective-C 的header files 的位置,以及library 的位置。 GCC 会根据这两个路径去搜寻header files & libraries。
重新开启msys,或是在命令列执行下面的命令:
source ~/.profile
现在你可以编译了。 记得在link 的时候必须指定要link objc 和gnustep-base 等两个libraries:
gcc -o test.exe test.m -lobjc -lgnustep-base
使用cmd.exe(命令提示字元)编译及执行编译结果:
依据前面的步骤1. 2. 安装GNUstep 套件。
「开始→控制台→系统→进阶→环境变数」(以Windows XP 为例)
在Path 环境变数中,增加以下两个目录:
C:\GNUstep\mingw\bin
C:\GNUstep\GNUstep\System\Tools
前者是为了能执行gcc,后者是为了gnustep-base.dll。 (当然,把gnustep-base.dll 放到\Windows\System\ 下面也可以)
增加一个环境变数OBJC_INCLUDE_PATH,其值为C:\GNUstep\GNUstep\System\Library\Headers。
增加一个环境变数LIBRARY_PATH,其值为C:\GNUstep\GNUstep\System\Library\Libraries。
增加上述这两项的理由和前面msys 的4. 相同。
现在你也可以在cmd 下编译了,语法和msys 下相同。
参考文件:
comp.lang.objective-C FAQ -- David Stes
GCC Online Manual -- Free Software Foundation