Erreur avec Foundation.h
-
21-09-2019 - |
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?
La solution
GNUstep processus d'installation pour Windows
- Consultez URL: http://ftpmain.gnustep.org/pub/ GNUstep / binaires / windows /
- Télécharger le fichier exe gnustep-system-0.19.2-setup.exe
- 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.
- 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.
- Maintenant, vous avez le GNUstep pour Windows puis allez à Démarrer> Tous les programmes> GNUstep> shell
- 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
- 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
- Cette commande va créer un fichier hello.exe dans votre dossier foldername.
- 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