Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-C简单hello world无法编译_Objective C_Macos - Fatal编程技术网

Objective-C简单hello world无法编译

Objective-C简单hello world无法编译,objective-c,macos,Objective C,Macos,我在OSX上使用Xcode,以下代码无法编译: #import <Foundation/Foundation.h> int main(int argc, const char *argv[]) { @autoreleasepool { NSLog(@"Hello world!"); } return 0; } 但是,如果我删除autoreleasepool块,那么代码就可以工作了。我也可以编译和运行C和C++代码,但是如果我关闭了AcL并写

我在OSX上使用Xcode,以下代码无法编译:

#import <Foundation/Foundation.h>

int main(int argc, const char *argv[]) {
    @autoreleasepool {
        NSLog(@"Hello world!");
    }
    return 0;
}
但是,如果我删除autoreleasepool块,那么代码就可以工作了。我也可以编译和运行C和C++代码,但是如果我关闭了AcL并写自动的方式,旧的方式:

#import <Foundation/Foundation.h>

int main(int argc, const char *argvc[]) {
    NSAutoreleasePool *pool = [[pool alloc] init];
    NSLog(@"Hello world!");
    [pool drain];
    return 0;
}
然后代码也不会编译

完整的错误日志如下所示:

编辑:
我想我从XCode 5.1.1降级到了XCode 5,现在它可以工作了。

正如@ahruss提到的,有一个编译器错误,你应该打开一个雷达,因为编译器不应该崩溃,但它可能来自你代码中的错误:

NSAutoreleasePool *pool = [[pool alloc] init];
你的意思是:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

正如@ahruss提到的,有一个编译器错误,你应该打开一个雷达,因为编译器不应该崩溃,但它可能来自你代码中的错误:

NSAutoreleasePool *pool = [[pool alloc] init];
你的意思是:

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

那看起来像是叮当声在撞击我;不是编译错误。那是他们的错误,不是你的。那是main.m模块还是main.c模块?他发布的日志上写着main.m。如果它是main.c,那么第一个版本就根本无法编译。我觉得这个版本好像要崩溃了;不是编译错误。那是他们的错误,不是你的。那是main.m模块还是main.c模块?他发布的日志上写着main.m。如果第一个版本是main.c,那么它根本不会编译