Bonjour à tous,
Pour un projet en C++, j'ai créé mon premier Makefile à l'aide du tutoriel de developpez.com qui est très bien fait. Cependant, après plusieurs heures de recherche je ne comprends toujours pas la source de mon problème.
En effet, tout compile avec g++ lorsque je n'utilise pas le Makefile, j'ai pensé que cela venait des dépendances (.h), apparemment non. Auriez-vous une idée ?
L'erreur retournée par g++ est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 CC=g++ EXEC=af2j CFLAGS=-W -Wall -ansi -pedantic all: $(EXEC) af2j: main.o menus.o ihm_fonctions.o Projet.o CommonFunctions.o Texte.o Editeur.o DicoBalises.o Convertisseur.o $(CC) -o $@ $^ $(LDFLAGS) # IHM main.o: main.cpp ihm_fonctions.h menus.h CommonFunctions.h Projet.h $(CC) -o $@ $< $(LDFLAGS) menus.o: menus.cpp menus.h CommonFunctions.h Projet.h $(CC) -o $@ $< $(LDFLAGS) ihm_fonction.o: ihm_fonctions.cpp ihm_fonctions.h CommonFunctions.h Projet.h $(CC) -o $@ $< $(LDFLAGS) # Gestion de projet Projet.o: Projet.cpp Projet.h Texte.h Fichier.h FileError.h $(CC) -o $@ $< $(LDFLAGS) CommonFunctions.o: CommonFunctions.cpp CommonFunctions.h Projet.h Texte.h Fichier.h FileError.h $(CC) -o $@ $< $(LDFLAGS) Texte.o: Texte.cpp Texte.h Fichier.h FileError.h $(CC) -o $@ $< $(LDFLAGS) # Gestion de l'éditeur Editeur.o: Editeur.cpp Editeur.h $(CC) -o $@ $< $(LDFLAGS) # Convertisseur DicoBalises.o: DicoBalises.cpp DicoBalises.h $(CC) -o $@ $< $(LDFLAGS) Convertisseur.o: Convertisseur.cpp Convertisseur.h DicoBalises.h Texte.h FileError.h $(CC) -o $@ $< $(LDFLAGS) clean: rm -f main.o menus.o ihm_fonctions.o Projet.o CommonFunctions.o Texte.o Editeur.o DicoBalises.o Convertisseur.o
Je précise que la fonction MenuPrincipal() est la première fonction appelée dans le fichier main.cpp, et qu'elle est déclarée dans menus.h qui est bien inclus dans main.cpp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 g++ -o main.o main.cpp /tmp/cctIrv8e.o: In function `main': main.cpp:(.text+0x7): undefined reference to `MenuPrincipal()' collect2: ld returned 1 exit status make: *** [main.o] Erreur 1 zsh: exit 2 make
Merci d'avance
Partager