Frage

I Lernen Objective-C in Linux (Ubuntu), aber wenn ich tryed meine Anwendung zu kompilieren, die den Foundation-Header muß ich eine Fehlermeldung bekam, dass die Datei nicht gefunden werden kann, aber ich habe das GNUstep Entwicklungspaket installiert (gnustep- devel). Hier ist mein Code:

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

Und hier ist das Konsolenprotokoll:

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:~$

Was muss ich tun?

War es hilfreich?

Lösung

GNUstep Installationsprozess für Windows

  1. Besuchen Sie die URL: http://ftpmain.gnustep.org/pub/ gnustep / Binaries / windows /
  2. Laden Sie die EXE-Datei gnustep-System-0.19.2-setup.exe
  3. Dann Herunterladen gnustep-Core-0.19.2-setup.exe

Denken Sie daran, eine Sache, wenn Sie gnustep-System von jeder Version sind das Herunterladen Sie müssen die gleiche Version für gnustep-core herunterladen. Zum Beispiel, wenn Sie gnustep-setup-0.22.1-setup.exe dann heruntergeladen du herunterladen gustep-Core-0.22.1-setup.exe sonst wird Ihr Code nicht ausgeführt haben.

  1. Installieren zuerst die gnustep-System-0.19.2setup.exe dann gnustep-Core-0.19.2setup.exe installieren. Versuchen Sie nicht, in umgekehrt, um zu installieren.
  2. Jetzt haben Sie die gnustep für Fenster starten Sie dann gehen Sie zu> Alle Programme> GNUstep> Shell
  3. Sie nun den Notepad-Editor öffnen und den folgenden Code in Notepad schreiben
#import  
int main (int argc, const char * argv[])
{
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]  
init];
  NSLog (@"Anil Kumar Yadav has Run the First Objective C  
program!");
  [pool drain];
  return 0;
}

speichern Sie es als hello.m in Ihrem C: / GNUstep / home / folder Denken Sie daran, folder der Name ist, wenn Sie zum ersten Mal die Shell starten sie die envoirment erstellen und machen Sie einen Ordner mit dem Namen Name Ihres Computers in C: / GNUstep / Home-Ordner. Also nicht panic.Okay sein

  1. Gehen Sie zu Ihrer Shell und geben Sie den folgenden Befehl gcc -o hallo hello.m -I / GNUstep / System / Library / Headers -L / GNUstep / System / Library / Libraries -lobjc -lgnustep-Basis -konstant-String- class = NSConstantString
  2. Mit diesem Befehl wird eine hello.exe Datei in Ihrem Ordnerordner erstellen.
  3. Wieder in der Schale geben Sie den Befehl ./hello.exe

Schließlich können Sie die Ausgabe in der Schale sehen.

Conguratulation schreibt Sie Ihr erstes Ziel C-Programm erfolgreich. Benötigen Sie weitere Erläuterungen Schreib mich: ayadav00009@gmail.com

Andere Tipps

Wie kompilieren Sie es? Für mich erstelle ich eine GNUMakefile Make-Datei für meine Anwendung (siehe hier ) und dann laufe ich source /usr/share/GNUstep/Makefiles/GNUstep.sh und dann make.

Ich habe im Repository durchsucht und dann installierte ich das Fundament lib, jetzt alles funktioniert.

Danke.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top