3

Objective-Cのiam初心者、私は小さなHello worldプログラムをコンパイルして開始しようとしました、iamは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

私はどんな助けにも感謝します、前もって感謝します:)

4

2 に答える 2

4

Foundation、NSAutoreleasePool、NSLogは、アップル独自のObjCフレームワークであるcocoaとcocoa-touchの一部です。Objective-Cを使用できますが、FoundationおよびすべてのFoundationクラスと関数は、MacOSXとiOSでのみ使用できます。

ObjCとクラスでの作業を継続したい場合は、3つの選択肢があります

  1. すべてを自分で書いてください(あなたは初心者であると言うので難しいので、クラスについての知識はありません)
  2. Foundationのクローンを作成しようとするGNUStepのようなものを使用してください
  3. MacOSXに切り替えます
于 2011-02-03T21:35:07.503 に答える
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
于 2012-02-02T13:54:58.467 に答える