[转]window搭建objectc环境及编译 .

转载自: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窗口,设置各种属性. 
clip_image002

接下来我们开始设计. 
1.改变My Window的大小和设置标题,拖拉此窗口右下角(鼠标形状不变,让我崩溃),让窗口变小点;标题必须在Inspect手动设置,先点击下My Window,Inspect就会出现My Window的属性,在Title文本域输入你要的标题:Hello GNUstep Window,同时标题也变了,至于窗口大小也可以在Inspect窗口改变,点击Attributes,出现下拉菜单,选择size,改变即可,这个就不贴图了. 
clip_image004

2.添加一个Title控件,在palettes窗口中,拖动Title到你的窗口中. 
clip_image005

再双击这个Title,直接输入你要的内容:HelloWorld 
3.再你的窗口菜单中添加info子菜单: 
有个莫民奇妙的bug,运行后的菜单info->info panel有时候无法显示,选择两次,app崩溃.

 

另一个学习资源的地址:http://www.otierney.net/objective-c.html.zh-tw.big5

原文地址:https://www.cnblogs.com/yingzi/p/2376745.html