[转]window搭建object-c环境及编译 .
2012-03-02 10:50 @影子@ 阅读(475) 评论(0) 编辑 收藏 举报转载自:http://blog.csdn.net/waden/article/details/5765294 http://blog.csdn.net/zhongguomin/article/details/7087959
1.先下载在window上的支持环境,网上有很多教程,搜索GNUstep可以找到,基本就是下载下来,按顺序4个默认安装就好了,嫌麻烦的全勾上选项就好了
下载地址:http://www.gnustep.org/experience/Windows.html
在Windows下搭建Objective C开发环境,需要到GNUstep官方网站上下载,四个软件包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo Backend。其中,前两个软件包是必须要安装的,第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装,第四个软件包在最新的主页中已经见不到啦,所以就不装啦。
GNUstep是什么东西,有什么用处,这里做个简单的介绍:GNUstep就是提供类似Cocoa(苹果OS的开发框架)的API和工具,目前支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使用的。这个项目使Objective C能在多数流行平台上开发和运行。有关详细的介绍开始参考GNUstep的官方网站。
在“开始”菜单中“所有程序”下可以找到“GNUstep”->“shell”,就会出console窗口,可以试试一些Linux命令(ls,cd,mkdir等)。
下载 Gorm,然后install,当然也可以用sh ,直接cd到Gorm的路径,然后exec Gorm.
---------------------------------------------------------------------------------------------------------
2.安装完了到开始菜单里找到GNUstep文件夹,找到shell,打开.2秒钟界面可以使用了,网上所的什么home/user都是不靠谱的,可能是版本问题, 可以使用Pwd查看当然你的shell指向的默认目录.你所有的操作都是基于这个目录来执行的(一般来说我编译项目使用shell,都会先把shell目录指向到我所创建的文件夹内,附上更改shell指向目录的命令 cd e:/testxxx 我的本地文件夹) .
3.然后就到编译了,当你写完你的一个文件后, 有个helloworld.m ,
第一种编译方法:
1)将helloworld.m编译成helloworld.o :
gcc -fconstant-string-class=NSConstantString -c helloworld.m -I /GNUstep/System/Library/Headers
2) 将helloworld.m编译成helloworld.o :
gcc -c helloworld.m -I /GNUstep/System/Library/Headers
3) 将.o编译成可执行程序,名为helloworld(最后生成的是helloworld.exe)
gcc -o helloworld helloworld.o -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base
注意:这时会有warning出现,但可以不用管它,毕竟,我们的可执行程序已经编译出来了.
4)在shell 上执行 ./helloworld.exe.
5)你已经成功了
第二种编译方法:
1) 在项目的文件夹下建立一个.sh后缀的文件,.我的是helloworld.sh
2)赋值下面内容
#!/bin/sh
gcc -fconstant-string-class=NSConstantString -c helloworld.m -I /GNUstep/System/Library/Headers
gcc -o helloworld helloworld.o -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base
./helloworld.exe
3) 在shell 执行 ./helloworld.sh(记得要指向目录.骚年)
4)你又成功了,
说明一下,其实第二种方法就是把第一种方法的代码聚集起来一次性运行,上面的一些语句的helloworld替换成你的文件名就行了,如果多个文件的话也只是到helloworld的后面,.具体可以参考GNUstep的常用命令,看看也就懂了.
使用Gorm的第一个图形界面,helloworld!
打开Gorm,你不会?如果你安装了Gorm,打开sh,然后运行/GNUstep/Local/Tools/Gorm,此时sh处于占用状态,Ctrl+C则会关闭Gorm.其实这个Gorm是个脚本,真正的程序在/GNUstep/Local/Applications/Gorm.app/Gorm.exe 。
1. #! /bin/sh
2.
3. exec openapp "Gorm" "$@"
下面我们开始,打开Gorm后,在主菜单,一般位于左上角,点击Document->New Application就会出现一个简单的窗口叫My Window,除了菜单,重要的设计窗口还有Untitled-7(你的程序名称,不知道怎么称呼这个窗口),Palette窗口,一般的控件都是从这里面拖出来的;Inspect窗口,设置各种属性.
接下来我们开始设计.
1.改变My Window的大小和设置标题,拖拉此窗口右下角(鼠标形状不变,让我崩溃),让窗口变小点;标题必须在Inspect手动设置,先点击下My Window,Inspect就会出现My Window的属性,在Title文本域输入你要的标题:Hello GNUstep Window,同时标题也变了,至于窗口大小也可以在Inspect窗口改变,点击Attributes,出现下拉菜单,选择size,改变即可,这个就不贴图了.
2.添加一个Title控件,在palettes窗口中,拖动Title到你的窗口中.
再双击这个Title,直接输入你要的内容:HelloWorld
3.再你的窗口菜单中添加info子菜单:
有个莫民奇妙的bug,运行后的菜单info->info panel有时候无法显示,选择两次,app崩溃.
另一个学习资源的地址:http://www.otierney.net/objective-c.html.zh-tw.big5