我刚开始学习Objective-C编程。我正在使用iMac在Mac OS X版本10.7.2上的Xcode 4.2中进行开发。我正在阅读Stephen Kochan撰写的“Objective-C编程”一书,其中包含一个简单的“Hello World”示例:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello, World!");
[pool drain];
return 0;
}
编译时会出现很多错误:
/Developer/SDKs/MacOSX10.7.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:313:19:错误:未知类型名称'NSString'[1]
还有很多这样的事情。在第一次编译之前是否需要做些什么? Xcode中的一些设置?
答案 0 :(得分:6)
Unknown typename NSString
表示您将目标c代码传递给(普通)c编译器
答案 1 :(得分:1)
从您的代码中,您似乎选择了错误的应用程序项目。好像你选择了与c程序有关的东西
我建议你点击文件 - &gt;新项目并选择Cocoa Application开始。
然后您复制代码并将其放在appdelegate文件中的'didFinishLaunchingWithOptions'方法中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSLog (@"Hello, World!");
[pool drain];
return YES;
}
构建并运行该程序。您应该能够在控制台日志中看到Hello World ..
答案 2 :(得分:0)
我也有这个问题。我发现在选择“命令行”之后,我在编写项目名称的窗口中选择了“核心基础”而不是“基础”。这就是导致我错误的原因。小心!