一.下午1点到5点半,iPhone的application介绍会,做了4个简单的application,确实很有意思。
二.以下共有三种方法,只有第三种方法成功了
1.You can program the Objective-C without MacBook. Please refer the below link to install Objective-C compiler in you Ubuntu
mchine. http://d.hatena.ne.jp/tomute/20090112/12318091162.Ubuntu 9.10下搭建Object-C开发环境(转)(这个写的很全,但是没有成功) Object- C是Apple对C语言的扩展,但是它配套的开发环境必须要运行在Leopard系统上,而这个系统又要运行在Mac机,无奈我还是个学生,再换个苹果本 不太实现,把现在的系统格了换Leopard实在是舍得,当初配置这个系统没少花精力呢,虚拟机上装Leopard性能又不能让人接受,无奈只能尝试搭建 Xcode以外的开发环境,很幸运,还真有,Ubuntu 下用GNUStep就可以了,网上有很多讲解安装的过程,但是讲的都不详细,而且还有好多是错的,更无奈的是竟然还有N多的人也不验证一下内容正确不正确,就拿来转贴,给搜索带来了很多的麻烦,无奈自己又的研究,又是查资料,终于搞定了,现在和大家说一下具体的步骤吧:
1)安装gnustep-devel,可以通过sudo apt-get install gnustep gnustep-devel安装,但是安的时候会告诉你有好多包已经不能用了,更好的办法是用新立得软件包管理器安装,打开之后输入:gnustep- devel,右键标记安装,会提示你还需要装很多其它的依赖包,先确定,然后点应用就可以了。
2)安装完毕后,也是最关键的一步,是配置gnustep-make的环境变量,与windows不同,Ubuntu 的 用户环境变量是放在.bashrc文件里面的,这个文件在用户的根目录下,当然,你是找不到的,因为是隐藏的,Ubuntu系统想要隐藏文件的话是在文件 名前面加.,显示隐藏文件的方法是Ctrl+H,所以,在用户的根目录下,显示隐藏文件后,找到.cshrc [bing注:我早安装的时候没有看到这个,直接是在bashrc的最后copy这个配置的,不知道原来作者是不是笔误,或者是我的版本是ubuntu 10.多的,没有那个文件 ],在最后面加入如下配置:
#set GNUstep GNUSTEP_ROOT=/usr/share/GNUstep export GNUSTEP_ROOT source /usr/share/GNUstep/Makefiles/GNUstep.sh
如果不加入上面的配置的话,在编译objective-c源文件的时候会提示/common.make,/tool.make找不到,也是这里困扰了我好久,所以这个很重要.
完成上面的配置生,object-c的开发环境我们就已经搭建好了,接下来就是用gnustep开发一个object-c来测试一下了
1)应用程序->编程->Project Manager IDE->File->New->Source File->Objective-C Language Source File
然后写一个简单的Hello World程序
2)File->Save保存在一个目录里面,记得保存成Objective-C类型的,可以看到文件的类型是.m
3)然后在这个目录里面创建一个空文件,不需要任何文件类型,但是名字必须是GNUmakefile,内容如下:
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = LogTest LogTest_OBJC_FILES = source.m
include $(GNUSTEP_MAKEFILES)/tool.make
这里的LogTest可以换成任务名字,代表编译之后的可执行文件名,只要两个地方统一就好了,source.m是你刚刚保存好的原文件名,换成你 自己的,这里的$(GNUSTEP_MAKEFILES)引用的是我们设置好的gnustep-make的path,所以没有第2步的设置,这里是找不到 对应的目录的。
4)写好这个文件后,在终端进入这个目录,然后执行make,如果一切没问题的话,目录中就会多出来一个obj目录,里面是编译好的可执行文件。
5)再执行./obj/LogTest,就可以看到运行的结果了,这里的LogTest注意,和上面对应,当然可以换成你自己的
3.Ubuntu 下Object-c的开发环境搭建(这个简单成功了)
Gnu编译器只支持最基本的部分Object-c, 为了Ubuntu 下使用整个的Objective-C的Cocoa /openStep环境,所以必须安装gcc和gcc和Objective-C支持的包,GNUstep的环境.
首先安装gnustep和gobjc
sudo apt-get install gobjc gnustep gnustep-devel
弄个Hello world的代码尝试编译一次
#import <stdio.h>
int main( int argc, const char * argv[] ) { printf("hello world/n"); return 0; }
然后执行编译:
gcc hello.m -o hello
如果调用到了 object-c的库, 以上编译命令会出错, 需要用下面命令:
gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
然后允许代码看看
./hello
输入了
hello world
OK了
//这是我的测试代码:
#import <stdio.h> #import <Foundation/Foundation.h> int main( int argc, const char * argv[] ) { printf(" say: hello world/n"); printf("use the foudation/n"); NSLog(@"NSlog Object C/n"); return 0;
}
output:
host@host-laptop:~$ gcc `g-o testconfig --objc-flags` -lgnustep-base test.m -o test host@host-laptop:~$ ./test say: hello world use the foudation 2011-03-05 12:32:58.365 test[10910] NSlog Object C host@host-laptop:~$