HelloWorld using Object-C on Ubuntu
1 安装
sudo apt-get install gnustep*
2 编写代码
#import <Foundation/Foundation.h> int main( int argc, const char * argv[] ) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSLog(@"Hello world\n"); [pool drain]; return 0; }
感觉是C与Java的结合体,C/C++包含头文件是
#include <stdio.h>
而Java中不存在头文件的概念,而是通过import来引入其他的类
import android.os.Bundle;
敲完代码,将其保存为文件hello.m
然后在终端下输入:
$ gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
$ ./hello
显示:
2011-04-0218:42:34.720 hello[16662] Hello world
搞定:
后记:
最近这几天想编译个类看看,发现编译基本的命名都会出现如下的错误:
gcc: error trying to exec 'cc1obj': execvp: 没有那个文件或目录
后来在论坛上也找了很多资料,大都是说没有安装gnustep,发现不是这个问题,
最终在 http://ubuntuforums.org/showthread.php?t=1100095 上找到解决方法:
sudo apt-get install gobjc-4.3
我想可能是我升级了gcc,但是没有升级相应的gobjc的原因。