一 、Win7下环境搭建
1: GNUstep
首先,目前windows下没有Objective-C的IDE存在,ObjectiveEClipse是一款可选择的插件,搭配Eclipse3.5+CDT6.0,但是已经停止更新。GNUstep是提供类似Cocoa(苹果OS的开发框架)的API和工具,目前支持GNU/Linux and GNU/HURD, Solaris, NetBSD, OpenBSD, FreeBSD, Darwin和Windows,免费使
用。这个项目使Objective C能在多数流行平台上开发和运行。
在Windows下搭建Objective C开发环境,需要到GNUstep官方网站上下载,四个软件包:GNUstep MSYS System、GNUstep Core、GNUstep Devel、Cairo Backend。其中,前两个软件包是必须要安装的,第三个软件包是安装一些开发工具,比如:gcc、g++等,所以如果是学习Objective C的话,这个包也是必须要安装,第四个软件包是安装glib等库,这个包安装不安装根据具体情况而定。
地址:http://www.gnustep.org/experience/Windows.html 官网 自己在百度云搜索引擎上也可以搜索到下载速度要比官网快很多 http://pan.baidu.com/s/1eQrObxo
安装后运行GNUstep shell也就是安装目录下的msys.bat。测试一下gcc与make命令。
2: 测试程序
test.m
1 #import <Foundation/Foundation.h>
2 int main (int argc, const char *argv[]) {
3 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
4 NSLog(@"Hello World!");
5 [pool drain];
6 return 0;
7 }
复制代码
3: 编译链接
1) 直接gcc编译链接方式
gcc -o test test.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString
其中:
-I /GNUstep/System/Library/Headers 指明编译期间头文件包含目录
-L /GNUstep/System/Library/Libraries 指明连接的库文件
-lobjc链接属性,这样就不必显示的链接libobjc.a库,gcc收到这个链接属性会为我们完成这些事。
-fconstant-string-class=NSConstantString指定常量字符串类型为NSConstantString
2) GNUmakefile方式
写GNUmakefile如下:
GNUSTEP_MAKEFILES=/GNUstep/System/Library/Makefiles
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = test
test_OBJC_FILES = ./test.m
include $(GNUSTEP_MAKEFILES)/tool.make
解释:其中TOOL_NAME定义为工程名称test,test_OBJC_FILES定义编译文件列表
在GNUmakefile目录下执行make命令,得到可执行文件。
注: 这个makefile 在原来的版本上稍微做了一下修改,否则会编译不通过。
二、linux下搭建开发环境
下面列出来的包是安装GNUstep环境所必须的:
* build-essential
* gobjc
* gobjc++
* gnustep-devel
用 apt-get install 就可以搞定
本人怕麻烦就直接
sudo apt-get install gnustep*
这样会安装所有的 GNUstep的东西,所谓一劳永逸
2 hello world
这个是远近闻名的程序
#import
int main(int argc, const char *argv[]) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@”Hello world\n”);
[pool drain];
return 0;
}
保存为 hello.m
这个时候你尝试用gcc 去编译是会出错的
gcc -o hello hello.m
fatal error: Foundation/Foundation.h: No such file or directory
因为你用了foundation的库,gcc不知道
3 make
我们现在要用GNUstep的方式即makefile的方式来编译,GNUstep已经给我们做好了编译脚本在: /usr/share/GNUstep/Makefiles/GNUstep.sh
我们现在就要用到它,先做一个环境变量 就叫 GNUSTEP_MAKEFILES 当然名字随你起
打开 .bashrc(如果不知道在哪,就去找找)
$ cd
$ vim .bashrc
在最下面添加
#set GNUstep
GNUSTEP_MAKEFILES=/usr/share/GNUstep.sh
export GNUSTEP_MAKEFILES
source /usr/share/GNUstep/Makefiles/GNUstep.sh
然后回到hello.m的目录
创建文件GNUmakefile 必须叫这名
添加
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = LogTest
LogTest_OBJC_FILES = source.m
include $(GNUSTEP_MAKEFILES)/tool.make
保存
然后,直接运行
$make
如果顺利通过,就会产生一个obj目录
$cd obj
$./hello
注:我遇到的问题是我的我的apt-get不好用,搞了几天也可以了
三、MAC OS下搭建开发环境:
我用的是虚拟机vmware10 和 mac os v10.7 xcode用的是4.2.3版本
详细的可以参考 http://tieba.baidu.com/p/3049281951#;
也可以在网上直接下载安装好xcode的安装文件,这个比较好, 能省不少事情,
详细可以参考:http://bbs.pcbeta.com/viewthread-897468-1-3.html ;里面有下载地址,安装文件的压缩密码是helloword 账户密码是九个s 回复里面有 , |
|