Pages : 1
#1 Le 02/05/2013, à 21:36
- zaafr4ne
Problème makefile
Bonjour,
J'ai 10 fichiers, disons A1.cc, A1.h, A2.cc, A2.h, A3.cc, A3.h, A4.cc, A4.h, A5.cc, A5.h, avec dans chacun des classes telles que dans chaque A(i+1).h il y a #include "A(i).h" et dans chaque A(i+1).cc il y a #include "A(i).cc" puisqu'il y a dépendance entre les classes.
Pour modulariser tout cela, j'utilise le makefile suivant :
CXX=g++-4.7
CC=$(CXX)
CXXFLAGS = -std=c++11 -pedantic -Wall # supprimer -ansi
CXXFLAGS += -O2
CXXFLAGS += -g
CXXFLAGS += `wx-config --cxxflags`
LDLIBS = -lgraph
LDLIBS += `wx-config --libs gl,core,base`
EXEC= A8all: $(EXEC)
A1.o: A1.cc
$(CC) -o $@ -c $< $(CXXFLAGS)A2.o: A2.cc A1.o
$(CC) -o $@ -c $< $(CXXFLAGS)A3.o: A3.cc A1.o
$(CC) -o $@ -c $< $(CXXFLAGS)A4.o: A4.cc A3.o A2.o A1.o
$(CC) -o $@ -c $< $(CXXFLAGS)A5.o: A5.cc A5.h A4.o A3.o A2.o A1.o
$(CC) -o $@ -c $< $(CXXFLAGS)A5: A5.o A4.o
$(CC) -o $@ $^ $(LDLIBS)
new: mrproper allmrproper: clean
@-/bin/rm -fr $(EXEC)clean:
@-/bin/rm -f *.o
Le terminal me met l'erreur suivante :
In file included from A3.h:8:0
from A4.h:5
from A5.h:5
from A5.cc:1:
A2.h:31:26: erreur: 'A1' has not been declared.
Je ne sais pas d'où vient cette erreur. Quelqu'un peut-il m'éclairer ?
Merci d'avance !
Hors ligne
#2 Le 03/05/2013, à 09:48
- telliam
Re : Problème makefile
la c'est la compilation qui met une erreur pas makefile,
tu as quoi dans le fichier A2.h?
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#3 Le 03/05/2013, à 10:22
- zaafr4ne
Re : Problème makefile
Dans le fichier A2.h il y a définie une classe A2 qui utilise la classe A1 dans l'une de ses méthodes... Ce qui est bizarre dans tout ça, c'est qu'il y a un fichier testA2.cc qui compile quand je teste la classe A2...
Hors ligne
#4 Le 03/05/2013, à 10:44
- telliam
Re : Problème makefile
A2.h inclus bien A1.h. ?
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#5 Le 03/05/2013, à 10:49
- zaafr4ne
Re : Problème makefile
Oui !
Hors ligne
#6 Le 03/05/2013, à 11:13
- telliam
Re : Problème makefile
il ya pas un probleme de garde (#ifdef ... #define #endif) dans un de tes fichiers .h?
tu px pas fournir le .h de A2 et A1? (partiellement si trop gros)
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#7 Le 03/05/2013, à 12:15
- zaafr4ne
Re : Problème makefile
Exactement ça ! Merci beaucoup : tu me sauves la vie. Maintenant, j'ai un autre problème par contre : ça me met /usr/bin/ld: VueOpenGL.o:undefined reference to symbol 'gluLookAt'
/usr/bin/ld: note: 'gluLookAt' is defined in DSO /usr/lib/libGLU.so.1 so try adding it to the linker command line
/usr/lib/libGLU.so.1: could not read symbols: Invalid operation
collect2: erreor: ld returned 1 exit status
make: *** [Application] Error 1
Que veut dire tout ça s'il vous plait ?
Hors ligne
#8 Le 03/05/2013, à 13:13
- telliam
Re : Problème makefile
mets la lib GLU dans ta liste de librairies
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#9 Le 03/05/2013, à 13:29
- zaafr4ne
Re : Problème makefile
Est-ce que je peux t'envoyer le code en privé s'il te plait ? Parce que c'est un devoir à l'école et je ne dois par conséquent pas le rendre publique...
Hors ligne
#10 Le 03/05/2013, à 13:38
- telliam
Re : Problème makefile
ok
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#11 Le 03/05/2013, à 13:48
- zaafr4ne
Re : Problème makefile
Merci. C'est fait.
Hors ligne
#12 Le 03/05/2013, à 23:06
- zaafr4ne
Re : Problème makefile
Tu n'as pas reçu ?
Hors ligne
#13 Le 03/05/2013, à 23:29
- telliam
Re : Problème makefile
Non
"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard
Hors ligne
#14 Le 04/05/2013, à 00:32
- zaafr4ne
Re : Problème makefile
Il faut que tu consultes ton mail je crois...
Hors ligne
Pages : 1