Bienvenue invité ( Connexion | Inscription )
29 Mar 2007, 07:35
Message
#1
|
|
|
Nouveau Membre Groupe : Membres Messages : 9 Inscrit : 29 Mar 2007 Membre no 83 686 |
Bonjour à tous,
J'ai un problème (eh oui, sinon je vous écrirais pas..) Lorsque je créer un nouveau projet avec eclipse (+ SDK), il m'ajoute les INCLUDES, un dossier pour le Débugage (il me semble) et ensuite une erreur se produit: **** make -k all Génération du fichier : ../main.c Appel en cours : Compilateur GCC C gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o"main.o" "../main.c" Génération terminée : ../main.c Génération de cible : essai2 Appel en cours : Editeur de liens C MacOS X gcc -o "essai2" ./main.o ld: Undefined symbols: _main make: *** [essai2] Error 1 make: Target `all' not remade because of errors. Génération terminée pour le projet essai2 ensuite lorsque j'essaie de compiler, il me dit que l'application d'existe pas... Auriez-vous une solution à mon problème? Merci d'avoir pris la peine de lire mon post. |
|
|
|
![]() |
31 Mar 2007, 07:34
Message
#2
|
|
|
Macbidouilleur d'Or ! ![]() ![]() ![]() ![]() ![]() Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Tes difficultés ne sont pas liées au Mac, mais seulement au changement de plateforme, tu serais passé à Linux tu aurais les même questions.
Le Makefile, c' est une technologie vieille de 40 ans au moins. Le principe de base est qu'on y décrit le projet en terme de dépendances : - main.o dépend de main.c : main.o est la cible, main.c la dépendance. - si la date de la dépendance est plus récente que celle de la cible, le make va tenter de traiter la cible - le make ne traite que la première cible du makefile, c' est le jeu des dépendances qui va faire traiter les autres. Un makefile bien fait ne va refaire que le strict nécessaire. Voici un squelette minimal: CODE CC=gcc CFLAGS=-c LDFLAGS= .c.o: $(CC) $(CFLAGS) $< all: hello hello: hello.o $(CC) $(LDFLAGS) -o $@ hello.o: hello.c .c.o: c' est une règle pour expliquer une fois pour toute, ce qui faut faire pour traiter un .o dépendant d'un .c En majuscules, les symboles, pour éviter de recopier partout des détails de compil. $< et $@ sont des macros : $< représente la dépendance $@ représente la cible suivie des dépendances (à vérifier) CFLAGS ce sont les options de compilation LDFLAGS les options de link Imaginons que le projet se complique et que tu as un second module goodbye.c CODE CC=gcc CFLAGS=-c LDFLAGS= .c.o: $(CC) $(CFLAGS) $< all: hello hello: hello.o goodbye.o $(CC) $(LDFLAGS) -o $@ hello.o: hello.c goodbye.o: goodbye.c Tu vois que les ajouts sont simples, et le make va faire le travail supplémentaire. J-P Ce message a été modifié par Jaypee - 31 Mar 2007, 07:39. |
|
|
|
neo927 Problème avec la compilation avec Eclipse (Plugins C/C++) 29 Mar 2007, 07:35
noop qu'est ce qu'il y a comme texte dans main.... 29 Mar 2007, 09:29
Jaypee Et que donne le make hors d'Eclipse?
J-P 29 Mar 2007, 10:02
neo927 C'est lorsque je créer le fichier main.c qu... 29 Mar 2007, 12:24
noop Tu ne serais pas en build automatic ? j'ai fai... 29 Mar 2007, 13:24
neo927 J'étais bien en buil automatic, merci. J ai d... 31 Mar 2007, 00:09
neo927 Merci bien pour tes explicaitons concernant le Mak... 2 Apr 2007, 08:39
noop CITATION(neo927 @ 2 Apr 2007, 09:39) 2162... 2 Apr 2007, 09:55
Jaypee Oui, dans l' exemple la cible hello est un exe... 2 Apr 2007, 21:11
neo927 Bonjour à tous, s est toujours moi...
Je n arriv... 4 Apr 2007, 20:26
ntx CITATION(neo927 @ 4 Apr 2007, 21:26) 2166... 4 Apr 2007, 20:56
Jaypee J'ai fait l'effort d'installer les CDT... 6 Apr 2007, 11:22
neo927 Eclipse est le programme qui je pensais etre le mi... 6 Apr 2007, 18:05
ntx CITATION(neo927 @ 6 Apr 2007, 19:05) 2168... 6 Apr 2007, 21:36
Jaypee Les photos sont trop petites pour être vraiment u... 6 Apr 2007, 20:19
Jaypee J' ai trouvé ce tuto beaucoup plus large qui ... 7 Apr 2007, 07:49
ola* Bizarre ces problèmes, à l'époque où j... 7 Apr 2007, 19:19![]() ![]() |
| Nous sommes le : 3rd April 2026 - 09:37 |