在WINDOWS上编译Objective-C时出现错误“Foundation.h:找不到这样的文件”

时间:2011-02-03 21:27:30

标签: objective-c windows compilation foundation

我是Objective-C的初学者,我试着编译小的Hello world程序来启动,我使用的是windows vista和shell控制台,我的代码是:

 #import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    // insert code here...
    NSLog(@"Hello, World!");
    [pool drain];
    return 0;
}

shell结果显示以下错误:

Foundation.h: no such file found

我的编译命令是:

gcc -o hello hello.m

我将非常感谢任何帮助,而不是提前:)

2 个答案:

答案 0 :(得分:4)

基金会,以及NSAutoreleasePool和NSLog是可可和可可触摸的一部分,苹果独家的ObjC框架。虽然您可以使用Objective-C,但Foundation和所有Foundation类和函数仅适用于Mac OS X和iOS。

如果您想继续使用ObjC和类

,您有三种选择
  1. 自己写一切(当你说你是初学者时会很难,所以你不会对这些课程有所了解)。
  2. 使用类似GNUStep的东西 尝试克隆基础
  3. 切换到Mac OS X

答案 1 :(得分:3)

尝试将此内容写入命令行。我有同样的问题,它对我有用。

gcc -I"c:/GNUstep/GNUstep/System/Library/Headers" -L "c:/GNUstep/GNUstep/System/Library/Libraries" -o hello hello.m -lobjc -lgnustep-base -fconstant-string-class=NSConstantString