所以我有这段代码......
/**
* cdb.m
* Copyright (C) 2013 Naveen Mathew. All rights reserved.
*/
#import <objc/Object.h>
#import "cdb.h"
#import <stdio.h>
#import <stdlib.h>
@implementation CDB : Object
{
}
- (int) main {
printf("Hello world");
return 0;
}
@end
int main(void)
{
CDB *myNumber = [CDB new]; // equal to [[Number alloc] init]
[myNumber main];
return 0;
}
我想在 Ubuntu 13.04 中编译它,但没有 GNUStep 给我的所有废话。所以我使用 GNU Objective C 运行时(gobjc)但是当我编译时我得到以下......
clang -Wall -lobjc -o cdb cdb.m -I/usr/lib/gcc/x86_64-linux-gnu/4.7/include
cdb.m:25:21: warning: class method '+new' not found (return type defaults to
'id') [-Wobjc-method-access]
CDB *myNumber = [CDB new]; // equal to [[Number alloc] init]
^ ~~~
1 warning generated.
当我运行程序时,我遇到了分段错误......我使用的是 gobjc 4.7。我用 gobjc 4.6 尝试过...它可以编译,但我仍然遇到分段错误...