Compiler de l'Objective-C en ligne de commande

boulifb

Membre émérite
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.
 

boulifb

Membre émérite
7 Septembre 2006
559
28
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.
 

ntx

Vénérable sage
Club MacG
15 Octobre 2004
12 072
376
92
PS : Foundation et Application sont des frameworks Cocoa. NSObject n'est pas dans la norme Obj-C, c'est déjà du Cocoa.
 

boulifb

Membre émérite
7 Septembre 2006
559
28
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.