0

Linux(Ubuntu)でObjective-Cを学習していますが、Foundationヘッダーを必要とするアプリケーションをコンパイルしようとすると、ファイルが見つからないというエラーが表示されましたが、GNUstep開発パッケージ(gnustep-devel)をインストールしました。これが私のコードです:

// Fraction.h
#import <Foundation/NSObject.h>

@interface Fraction: NSObject {
    int numerator;
    int denominator;
}

- (void) print;
- (void) setNumerator: (int) n;
- (void) setDenominator: (int) d;
- (void) numerator;
- (void) denominator;
@end

そして、ここにコンソールログがあります:

ubuntu@eeepc:~$ gcc main.m -o frac -lobjc
In file included from main.m:3:
Fraction.h:2:26: error: objc/NSObject.h: No such file or directory
In file included from main.m:3:
Fraction.h:4: error: cannot find interface declaration for ‘NSObject’, superclass of ‘Fraction’
ubuntu@eeepc:~$

私は何をする必要がありますか?

4

3 に答える 3

5

どのようにコンパイルしていますか?私の場合GNUMakefile、アプリケーションのmakefileを作成し(ここを参照)、次に実行source /usr/share/GNUstep/Makefiles/GNUstep.shしてからmake

于 2009-10-18T00:12:23.147 に答える
4

Windows用のGNUstepインストールプロセス

  1. URLにアクセスしてください:http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/
  2. exeファイルgnustep-system-0.19.2-setup.exeをダウンロードします
  3. 次に、gnustep-core-0.19.2-setup.exeをダウンロードします

いずれかのバージョンのgnustep-systemをダウンロードする場合は、gnustep-core用に同じバージョンをダウンロードする必要があることを覚えておいてください。たとえば、gnustep-setup-0.22.1-setup.exeをダウンロードした場合は、gustep-core-0.22.1-setup.exeをダウンロードする必要があります。そうしないと、コードが実行されません。

  1. 最初にgnustep-system-0.19.2-setup.exeをインストールしてから、gnustep-core-0.19.2setup.exeをインストールします。逆の順序でインストールしようとしないでください。
  2. これで、Windows用のgnustepを取得し、[スタート]>[すべてのプログラム]>[GNUstep]>[シェル]に移動します。
  3. 次に、メモ帳エディターを開き、メモ帳に次のコードを記述します
#輸入  
int main(int argc、const char * argv [])
{{
  NSAutoreleasePool*プール=[[NSAutoreleasePoolalloc]  
初期化];
  NSLog(@ "AnilKumarYadavが最初のObjectiveCを実行しました  
プログラム!");
  [プールドレン];
  0を返します。
}

C:/ GNUstep / home / foldernameにhello.mとして保存します。foldernameは、シェルを初めて起動したときの名前であり、環境を作成し、C:/ GNUstep/homeにコンピューター名の名前でフォルダーを作成します。フォルダ。だから慌てる必要はありません。

  1. シェルに移動し、次のコマンドを入力しますgcc -o hello hello.m -I / GNUstep / System / Library / Headers -L / GNUstep / System / Library / Libraries -lobjc -lgnustep-base -constant-string-class = NSConstantString
  2. このコマンドは、foldernameフォルダーにhello.exeファイルを作成します。
  3. 再度シェルでコマンド./hello.exeを入力します

最後に、シェルで出力を確認できるようになります。

最初のObjectiveCプログラムを正常に作成した構成。説明が必要な場合は、ayadav00009@gmail.comまでご連絡ください。

于 2010-05-21T09:58:50.487 に答える
0

リポジトリを検索してから、Foundation libをインストールしましたが、すべてが機能しています。

ありがとう。

于 2009-10-18T03:56:35.163 に答える