2012-01-02 97 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