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 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 :

Makefile a écrit :

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= A8

all: $(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 all

mrproper: 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