2012-01-02 35 views
0

我在Xcode 4.2.1和关键字@autolreleasepool一个控制台应用程序未编译: Compiler error 编译器似乎为我的控制台应用程序要正确设置: Project build settings 你有什么建议吗?我想了解为什么新关键字不起作用,如果我有Xcode 4.2.1,我知道如何使用旧语法编写autoreleasepool。的XCode 4.2.1 @autoreleasepool不工作

UPDATE

这是代码无法编译

#include <CoreFoundation/CoreFoundation.h> 

int main (int argc, const char * argv[]) 
{ 
    @autoreleasepool{ 

     NSMutableArray *array; 
     array = [[NSMutableArray alloc] init]; 
     int i; 
     for (i = 0; i < 10; i++) { 
      NSNumber *newNumber = 
      [[NSNumber alloc] initWithInt:(i * 3)]; 
      [array addObject:newNumber]; 
     } 
     for (i = 0; i < 10; i++) { 
      NSNumber *numberToPrint = [array objectAtIndex:i]; 
      NSLog(@"The number at index %d is %@", i, numberToPrint); 
     } 

    } 
    return 0; 
} 
+0

什么是SDK设置? – 2012-01-02 17:44:14

+0

看看上面的行。你错过了一个终结者,或者看起来有什么不对吗?此消息有时会弹出,因为它将当前行解释为上述行的一部分。 – Abizern 2012-01-02 17:46:51

+0

我刚刚运行过,它在我的机器上编译和运行得很好。 – Abizern 2012-01-02 18:25:26

回答

1

我发现了这个问题! 我没有用Type =“Foundation”创建一个命令行项目,而是使用Type =“Core Foundation”。我将其改为“基础”,现在编译!

0

是ARC启用这个文件?检查文件的项目/目标级别设置和各个编译器标志。

+0

是的,它使用ARC配置文件和项目,我不明白为什么它不编译 – Raffaeu 2012-01-02 17:42:23

+1

然后它可能有助于显示一个稍大的代码片段 - 错误可能在@autoreleasepool语句之前。 – 2012-01-02 17:49:15

+0

我有一个Cocoa应用程序,如果我使用@autoreleasepool关键字它可以完美地工作,它也会从intellisense弹出,在这个控制台应用程序中,在.c文件中它不会。 ??? – Raffaeu 2012-01-02 18:23:14