Question

Je l'apprentissage Objective-C sous Linux (Ubuntu), mais quand j'ai essayé de compiler mon application qui a besoin des en-têtes Foundation j'ai obtenu une erreur indiquant que le fichier ne peut être trouvé, mais je l'ai installé le package de développement GNUstep (gnustep- devel). Voici mon 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

Et voici le journal de la console:

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

Qu'est-ce que je dois faire?

Était-ce utile?

La solution

GNUstep processus d'installation pour Windows

  1. Consultez URL: http://ftpmain.gnustep.org/pub/ GNUstep / binaires / windows /
  2. Télécharger le fichier exe gnustep-system-0.19.2-setup.exe
  3. Puis Télécharger gnustep-core-0.19.2-setup.exe

Rappelez-vous une chose si vous téléchargez gnustep-système d'une version que vous devez avoir à télécharger la même version pour gnustep-core. Par exemple, si vous avez téléchargé gnustep-setup-0.22.1-setup.exe alors vous devez avoir à télécharger-0.22.1-setup.exe gustep-core sinon votre code ne fonctionnera pas.

  1. Installer d'abord le gnustep-système 0.19.2setup.exe puis installez gnustep-core-0.19.2setup.exe. Ne pas essayer d'installer pour vice versa.
  2. Maintenant, vous avez le GNUstep pour Windows puis allez à Démarrer> Tous les programmes> GNUstep> shell
  3. Ouvrez l'éditeur de bloc-notes et d'écrire le code suivant dans le bloc-notes
#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;
}

enregistrer comme hello.m dans votre dossier C: / GNUstep / home / foldername Rappelez-vous foldername est le nom lors de la première fois démarrer le shell créer le envoirment et faire un dossier par le nom de votre nom d'ordinateur dans C: / GNUstep dossier / home. Alors ne soyez pas panic.Okay

  1. Accédez à votre shell et tapez la commande suivante gcc -o bonjour hello.m -I / GNUstep / System / Library / En-têtes -L / GNUstep / System / Library / Bibliothèques -lobjc -lgnustep base -Constant-string- class = NSConstantString
  2. Cette commande va créer un fichier hello.exe dans votre dossier foldername.
  3. Encore une fois dans la coquille taper la commande ./hello.exe

Enfin, vous pourrez voir la sortie dans la coquille.

Conguratulation que vous avez écrit votre premier programme Objectif C avec succès. Vous avez besoin d'éclaircissements me écrire: ayadav00009@gmail.com

Autres conseils

comment compilez-vous? Pour moi, je crée un makefile GNUMakefile pour mon application (voir ) , puis je lance source /usr/share/GNUstep/Makefiles/GNUstep.sh puis make.

Je l'ai cherché au référentiel, puis je l'ai installé la fondation lib, maintenant tout fonctionne.

Merci.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top