2012-05-07 49 views
2

很多的Objective-C教程似乎使用下面的程序:目標C的Hello World錯誤

#import "Foundation/Foundation.h" 

int main() 
{ 
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
    NSLog(@"Hello world!"); 
    [pool drain]; 
    return 0; 
} 

我確實採取了所有的東西,對池,並能正常工作。但是這給了我一個錯誤信息。 'NSAutoreleasePool'不可用:在自動引用計數模式下不可用。也許我做錯了什麼?

我使用的是Xcode 4.3.2。我選擇了新項目 - >命令行工具 - > Foundation。這是我使用的源代碼。

+0

如果使用ARC忘記這個代碼;) – MJB

+0

項目的main.m文件模板應該有這樣的代碼的正確版本已經。你有沒有改變它? –

回答

5

這是因爲您正在使用ARC進行編譯,並且此源是ARC之前的版本。如果你改變編譯模式來禁用ARC,它會很好的編譯。你也可以使用新的風格的自動釋放池(作品沒有太ARC):

#import "Foundation/Foundation.h" 

int main() 
{ 
    @autoreleasepool { 
     NSLog(@"Hello world!"); 
    } 
    return 0; 
} 
0
#import <Foundation/NSAutoreleasePool.h>