Ошибка "Foundation.h: такой файл не найден" при компиляции Objective-C в WINDOWS

Я новичок в Objective-C, я попытался скомпилировать небольшую программу Hello world для запуска, я использую Windows Vista и консоль оболочки, мой код:

 #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;
}

результат оболочки показывает мне следующую ошибку:

Foundation.h: no such file found

Моя команда для компиляции:

gcc -o hello hello.m

Я буду признателен за любую помощь, спасибо заранее:)

2 ответа

Решение

Foundation, а также NSAutoreleasePool и NSLog входят в состав какао и какао-touch, эксклюзивных рам Apple для ObjC. Хотя вы можете использовать Objective-C, Foundation и все базовые классы и функции доступны только в Mac OS X и iOS.

У вас есть три варианта, если вы хотите продолжить работу с ObjC и классами

  1. Пишите все сами (это будет сложно, так как вы говорите, что вы новичок, и поэтому у вас не будет знаний о занятиях)
  2. Используйте что-то вроде GNUStep, который пытается клонировать Foundation
  3. Переключиться на Mac OS X

Попробуйте написать это в вашей командной строке. У меня была такая же проблема, и она работала для меня.

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
Другие вопросы по тегам