Ubuntu下Objective-C开发环境搭建

鉴客 发布于 2010/08/24 07:19
阅读 12K+
收藏 13

最近看了很多文章,互联网发达今天,想找一篇对的文章还真TM难, 再次BS一下,那些不知所云就转贴的竖子,本来以为很简单的 objective c 在 gcc上的编译问题,因为gcc很本就可以支持objective c 的,花了两天的时间搞定, 不得不再次感叹互联网的强大

 

gcc是可以,但是不用GNUstep 而写obj c 是没有什么意义,如果用GNUstep 那gcc老的方法就会有问题,最烦人的就是

Foundation/Foundation.h: No such file or directory

这个错误

闲言少表,来点直接的

1安装 / install GNUstep on ubuntu

下面列出来的包是安装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

加载中
0
缘梦
缘梦

晕,看了半天也是转载的,给图给真像就是篇好文章了。

0
bower
bower

是转的, 有明显的错误,这有无错版

http://www.bowerpower.cn/archives/678

0
鉴客
鉴客

引用来自#3楼“bower”的帖子

是转的, 有明显的错误,这有无错版

http://www.bowerpower.cn/archives/678

已经将文章该成你的这篇了,谢谢:)

0
麦麸子lee
麦麸子lee
还行吧,受用了
0
0
dreamers
dreamers

按照你来做的不行呀。。所以自己写了一个:

http://my.oschina.net/linuxyangzhiyong/blog/110943

0
o
oolocal

这个不行,豆瓣上有篇教程很详细,可行!

http://www.douban.com/group/topic/44445202/

0
诸葛非卿
诸葛非卿
在LINUX系统下搞IOS编程一定蛋疼..
0
laocan
laocan

makefile 还是用这个吧

www.douban.com/group/topic/44445202/

返回顶部
顶部