Compiler de l'Objective-C en ligne de commande

boulifb

Membre actif
7 Septembre 2006
559
28
Bonjour tout le monde,

Voilà, je cherche à compiler un ch'ti programme de type "hello world" qui ne fait pas grand chose en soit. Il fait appel à la classe NSObject, ancêtre de toutes les classes en Objective-C et j'ai toujours une erreur de compil'.

Voici le petit programme bidon:
Bloc de code:
#import <Foundation/Foundation.h>
#import <stdio.h>
 
@interface HelloWorld: NSObject
{
}
-(void) sayHello;
@end
 
@implementation HelloWorld
-(void) sayHello
{
        printf("Hello world!\n");
}
@end
 
int main(int argc, char** argv)
{
        HelloWorld*             hw=[[HelloWorld alloc] init];
 
        [hw sayHello];
        [hw release];
 
        return 0;
}

Et j'ai l'erreur de link suivante:
/usr/bin/ld: Undefined symbols:
.objc_class_name_NSObject
collect2: ld returned 1 exit status

quand je fais:
gcc -o hello hello.m -lobjc

Qu'est-ce qui ne va pas dans la ligne de commande?
Qu'ai-je oublié dans le link???

Cordialement.

Fred.
 
Ok, d'accord :)

Et quel est le nom de la librairie?
c'est -l[quoi?] ;)

De manière générale, où se trouve la framework de l'Objective-C?

D'avance merci.

fred.
 
PS : Foundation et Application sont des frameworks Cocoa. NSObject n'est pas dans la norme Obj-C, c'est déjà du Cocoa.
 
Oui, NSObject fait parti de Cocoa et c'est même la classe de base de Cocoa émanant de NeXTStep (NS signifiant NeXTStep) si je ne m'abuse.

NSObject est à Cocoa ce que CObject est à la librairie C++ MFC...

Fred.