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的原因。

 

 

 

相关文章:

  • 2021-05-01
  • 2021-05-15
  • 2021-05-11
  • 2021-10-01
  • 2021-08-19
  • 2022-12-23
  • 2021-12-20
  • 2021-07-11
猜你喜欢
  • 2021-09-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-26
  • 2022-12-23
  • 2021-11-08
相关资源
相似解决方案