Windows在结构objective C开发环境
对于近期打算iPhone、iPod touch和iPad开发一些应用程序,所以。需要开始学习Objective C(苹果推出的类似C语言的开发语言)。因为苹果的自我封闭的产业链发展模式(从芯片、机器、开发语言、终端产品、服务)的限制,要想开发针对苹果 iPhone等产品的应用程序,就须要用Mac机器,在Xcode的IDE上使用Objective C语言开发。
Mac机器就不用说了。那比PC机器要贵不少(当然性价比还是非常高的),所以,要想便宜方式学习Objective C就必须要在Windows上能搭建一个Objective C开发环境。好了。不说废话了。
http://www.gnustep.org/experience/Windows.html
在Windows下搭建Objective C开发环境,须要到GNUstep官方站点上下载,四个软件包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo
Backend。当中,前两个软件包是必需要安装的,第三个软件包是安装一些开发工具。比方:gcc、g++等,所以假设是学习Objective C的话。这个包也是必需要安装。第四个软件包是安装glib等库,这个包安装不安装依据详细情况而定。
至于GNUstep是什么东西,有什么用处,这里做个简单的介绍:GNUstep就是提供类似Cocoa(苹果OS的开发框架)的API和工具,眼下支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使用的。
这个项目使Objective C能在多数流行平台上开发和执行。
有关具体的介绍開始參考GNUstep的官方站点。
言归正传。下载上述软件包后,点击安装就能够了。然后。须要确认是否成功安装,而且能否成功编译Objective C代码。
在“開始”菜单中“全部程序”下能够找到“GNUstep” -> “shell”,就会出console窗体,能够试试一些Linux命令(ls,cd,mkdir等)。
编写一个Objective C代码进行编译执行測试。在这里就用经典的“hello world”来说明:
#import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init]; NSLog(@"Hello World!"); [pool drain]; return 0; }在Windows环境下用文本编辑器(Editplus,UE等),编写上述代码,而且保存到GNUstep安装文件夹下的/home下,取名为helloworld.m。在GNUstep的console窗体命令行下。
1、cd /home
2、gcc -o helloworld helloworld.m -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
3、执行helloworld.exe
说明:第二步中的一些參 数明说,假设熟悉Linux/Unix下C/C++编译的话,上述參数应该非常熟悉。-I表示头文件查找的路径,-L表示库文件查找路径。-l表示须要链接 的库文件。可是,-fconstant-string-class=NSConstantString 对于这个參数可能比較陌生,这个參数主要是指定常量字符串所使用的class。
改进:因为在GNUstep的窗体下不能复制,粘贴,手动打字easy出错,所以,能够写个shell脚本。取名为test.sh,内容例如以下:
gcc -o "$1" "$2" -I/GNUstep/System/Library/Headers -fconstant-string-class=NSConstantString -L/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
然后和上面的一样,在GNUstep的console窗体命令行下
1、cd /home
2、sh test.sh helloworld helloworld.m
3、执行helloworld.exe
说明:test.sh中的$1 和 $2分别表示获取运行test.sh时传进来的第1个和第2个參数。然后通过sh test.sh helloworld helloworld.m就是运行test.sh脚本并传入两个參数,採用传參数的目的是让这个test.sh成为一个编译的模板,这样每次仅仅要传不同的參数就能够编译运行。
helloworld.exe编译并执行成功的话,说明windows下Objective C建立一个良好的发展环境,这可以通过学习,廉价的方式启动Objective C
版权声明:本文博客原创文章,博客,未经同意,不得转载。