Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/02/2006, à 12:21

IsIdors

problème de compilation C++

Je voudrais compiler un petit projet C++ que j'ai réalisé sur une autre machine (et qui compile) mais voilà le message d'erreur qui apparaît:

$make

CC -c Liste.cpp
make: CC : commande introuvable
make: *** [Liste.o] Erreur 127

Je pense que c'est une problème de paquet mais je vois pas lequel pourrai manquer. J'ai bien installé g++, gcc, cpp.

Merci pour votre aide

Hors ligne

#2 Le 25/02/2006, à 12:40

phlinux

Re : problème de compilation C++

Essayez g++ -o Liste Liste.cpp

Votre fichier Makefile fait appel a un compilateur qui n'est peut être pas installé ou n'est pas dans votre PATH. Dans ce cas modifiez le contenu de la variable $CC dans le fichier Makefile


Ubuntu - Precise Pangolin 64bits
ATI Radeon HD5670

Hors ligne

#3 Le 25/02/2006, à 17:30

bernez

Re : problème de compilation C++

As-tu le paquetage build-essential ?

sudo apt-get install build-essential

Peut-être ensuite un export provisoire :

export CC="/usr/bin/cc"

roll


vyé kanari ka fè bonsoup.
Kenavo. A galon !

Hors ligne

#4 Le 25/02/2006, à 18:46

nic2chien

Re : problème de compilation C++

oui ta variable n'est peutetre pas initialisée.
essaie ca :
make CC=g++

Hors ligne

#5 Le 27/02/2006, à 01:47

IsIdors

Re : problème de compilation C++

Effectivement, le problème venait du contenu de la variable $CC dans le fichier Makefile.
Ca marche avec g++.

Merci à tous pour votre aide. smile

Hors ligne

#6 Le 27/02/2006, à 01:57

gene69

Re : problème de compilation C++

oui ce que tu fais c'est que tu utilises la commande CC sans l'avoir definie
CC dans le makefile est generalement une variable dons s'utilise avec un dollard comme dans l'exemple suivant.

CC    =  gcc

#regle generique pour passer d'un .o a un executable

.o:

    $(CC) $(CCFLAGS) $(OBJECTS) -o $@ $(LIBS)

#regle generique pour passer d'un .c a un .o
.c.o:

    @$(CC) -c $(CCFLAGS) $< -o $@

Dernière modification par gene69 (Le 27/02/2006, à 01:57)


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#7 Le 27/02/2006, à 22:36

phlinux

Re : problème de compilation C++

A mon sens la variable CC était bien définie ...mais pour une autre plateforme

... j'ai réalisé sur une autre machine (et qui compile)...

. Il devait y avoir un compilateur C non gnu de genre  cc.


Ubuntu - Precise Pangolin 64bits
ATI Radeon HD5670

Hors ligne

#8 Le 02/03/2006, à 21:28

gene69

Re : problème de compilation C++

C'est bien ce que je dis. la variable CC doit être utilisee avec un $.
Pour avoir potassé le manuel de make qui est par là : en saxon je pense que c'est ça.

Bon apres faut pas être stupide: si tu publies le code du makefile je veux bien te filler un coup de main.

Je te signale que par defaut GNUmake autorize 3 noms pour son makefile:
GNUmakefile
makefile
Makefile
avec cet ordre de préférence. Tu pouras donc faire coabiter 2 makefiles
(ref:  3.2 What Name to Give Your Makefile )
(et sur .default tu rajoutes un @echo "JE SUIS LE GNUMAKEFILE" pour lever l'ambiguité pour toi au moment de l'execution du script).


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#9 Le 02/03/2006, à 21:30

gene69

Re : problème de compilation C++

C'est bien ce que je dis. la variable CC doit être utilisee avec un $.
et elle doit être initialisée comme toute variable respectable.

Pour avoir potassé le manuel de make qui est par là : en saxon je pense que c'est ça.

Bon apres faut pas être stupide: si tu publies le code du makefile je veux bien te filler un coup de main.

Je te signale que par defaut GNUmake autorize 3 noms pour son makefile:
GNUmakefile
makefile
Makefile
avec cet ordre de préférence. Tu pouras donc faire coabiter 2 makefiles
(ref:  3.2 What Name to Give Your Makefile )
(et sur .default tu rajoutes un @echo "JE SUIS LE GNUMAKEFILE" pour lever l'ambiguité pour toi au moment de l'execution du script).


. Il devait y avoir un compilateur C non gnu de genre  cc.

Qu'est ce que tu veux dire par là? que g++ n'est pas là par défaut?


Quand le berger est lâche, le loup chie de la laine.
A (draft) guide to UFO Alien-Invasion

Hors ligne

#10 Le 03/03/2006, à 22:01

phlinux

Re : problème de compilation C++

Sur une machine non GNU/Linux, non .... les compilateurs C étaient propriétaires et on les appelait généralement par cc (c compiler) ou avec des noms propres au constructeur.

Le fait d'amener des programmes d'une autre machine avec leur Makefile peut provoquer ce genre d'erreur car dans le Makefile la variable CC ($CC) a été positionnée sur ce qui est natif à la machine. Il suffit donc de changer son contenu (c'est pour cela qu'on utilise une variable à cet endroit) pour s'adapter au nouvel environnement.

Dernière modification par phlinux (Le 03/03/2006, à 22:02)


Ubuntu - Precise Pangolin 64bits
ATI Radeon HD5670

Hors ligne