Windows环境下使用GUNStep搭建Objective-C学习开发环境
公司的电脑木有Mac,那学习岂不是很不方便。感谢前辈们做的贡献,让我可以很快的搭建起这个框架,不过前辈的文章或多或少都有一些小问题,还好都不是大问题(至少在我的机器上是的)。
参考文献:
http://sogotobj.iteye.com/blog/1247812
http://blog.****.net/waden/article/details/5765294
http://blog.lyxite.com/2008/01/compile-objective-c-programs-using-gcc.html
http://www.techotopia.com/index.php/Installing_and_using_GNUstep_and_Objective-C_on_Windows
上面大体来说都是差不,照着做基本上可以。
问题1:保存Hello.m的位置应该是Home文件夹下面的一个Hello文件夹,用cd命令进入这个目录即可。
编辑器:就采用Editplus,可以去下载高亮文件:
http://www.editplus.com/javacpp.html
下载"iPhone iOS4 Objective C stx, acp, ctl - John Pope (2010-11-08)"即可。
下载下来有三个文件分别是:
stx是语法高亮文件
acp是自动完成文件
ctl是代码剪辑文件
效果图:
另外GNUStep模拟的根目录应该是msys/1.0下面,编译的时候需要进入我们的文件夹,比如前面的Home/Hello。这样直接用gcc编译就可以了。
前面的英文文章要求下载两个,实际上应该是下载3个,要不然没有gcc。
http://www.gnustep.org/experience/Windows.html
在这个地址里面下载前三个即可。
在目录:C:\GNUstep\msys\1.0\home下面新建一个hello目录,然后新建一个hello.m
代码:
#import <Foundation/Foundation.h>
@interface Test : NSObject { } - (void) print; @end @implementation Test - (void) print { NSLog( @"Test Print..." ); } @end int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog (@"hello world"); Test* pTest = [Test new]; [pTest print]; NSLog( @"Test object : %@", pTest ); [pool drain]; return 0; }
打开开始菜单的GNUStep下面的链接即可开启控制,可以使用Unix的命令,结果:
Command:
gcc -o Hello Hello.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString
补充
输入help看看有什么东西出现吧
输入pwd回车会显示当前所在目录/home/Administrator[C:\GNUstep\msys\1.0\home\Administrator]
cd ..回到主目录/home
去建个hello目录吧
cd hello进入hello目录/home/hello
新建文件hello.m
内容
#import <Foundation/Foundation.h>
@interface Test : NSObject
{
}
- (void) print;
@end
@implementation Test
- (void) print
{
NSLog( @"Test Print..." );
}
@end
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSLog (@"hello world");
Test* pTest = [Test new];
[pTest print];
NSLog( @"Test object : %@", pTest );
[pool drain];
return 0;
}
新建hello.bat
内容
gcc -o Hello Hello.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString
输入hello.bat回车[会编译出Hello.exe]
输入hello回车运行程序
其他命令
cls清除屏幕
exit退出
help帮助
pwd显示当前目录