2011-02-03 13 views
3

iam初心者Objective-Cでコンパイルしようとしましたが、小さなWindowsプログラムをコンパイルしようとしました。次のとおりです。エラー "Foundation.h:そのようなファイルが見つかりませんでした" Windows上でObjective-Cをコンパイル中

#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

NSAutoreleasePoolとNSLogは、ココアとココアタッチの一部であり、Appleの排他的なObjCフレームワークの一部です。 Objective-Cを使用することはできますが、FoundationおよびすべてのFoundationクラスおよび関数は、Mac OS XおよびiOSでのみ使用できます。あなたは、あなたが初心者であることを言うように自分で(それは難しいだろう、すべてを書くのクラス

  1. にObjCウントで作業を継続したい場合は

    は、次の3つの選択肢を持っているので、あなたは知識を持っていません。使用

  2. )クラスについて 試行が複製するGNUstepのようなもの財団
  3. スイッチのMAC OS Xへ
+0

、「GNUstepの」パッケージ、私はそれをすでにインストールしていると私は、環境変数を追加しました:C:\ GNUstepの\ mingwの\ビン\のgcc.exeだけに、まだできないコードをC:\ GNUstep \ GNUstep \ System \ Library \ Headers – Malloc

3

あなたのCOMMにこれを書いて試してみてくださいとライン。私も同じ問題があり、それは私のために働いた。それThat`s

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 
+0

大変ありがたいことに、スタックオーバーフロー全体を検索し、最終的に答えを見つけました。 –

関連する問題