在ubuntu上编译没有gnustep的目标c程序

时间:2013-06-01 14:41:21

标签: objective-c c computer-science

有没有办法在不使用GNUStep的情况下在ubuntu上编译目标c程序?我想使用默认的C标准库以及除Objective-C的OOB语法之外的所有库。我现在遇到的问题是,一旦我掌握了所有方法,我需要一种方法来调用它们。在Mac中,我只是分配和初始化它,但在Linux上,当我尝试编译它时,clang只是给我一个错误...任何帮助都将非常感激。

#include <stdio.h> // C standard IO library (for printf)
#include <stdlib.h> // C standard library
// Interface
@interface test
 -(void)sayHello :(char *)message;
@end

// Implementation
@implementation test
 -(void)sayHello :(char *)message {
  printf("%s", message);
 }

int main(int argc, char *argv[]) {
 test *test = [[test alloc] init];
 [test sayHello:"Hello world"];
}

1 个答案:

答案 0 :(得分:0)

您可以使用gcc编译objective-c,但请记住使用-lobjc开关,以便编译器知道您正在使用的语言。

您还需要包含以下标题:

    #import <objc/Object.h>

...并从您的界面扩展Object。请在此处查看objective-c的hello world示例:

http://en.m.wikipedia.org/wiki/List_of_Hello_world_program_examples#O