ошибка "Foundation.h: такой файл не найден" при компиляции Objective-C в WINDOWS - PullRequest
3 голосов
/ 04 февраля 2011

я новичок в 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 ]

4 голосов
/ 04 февраля 2011

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

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

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

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

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
...