Bonjour, je voudrais créer un petit projet respectant cette arborescence :
./Makefile
./main.cpp
./include/OutilsPGM.h
./source/OutilsPGM.c
Il y a bien l'include de OutilsPGM.h dans OutilsPGM.c :
#include "../include/OutilsPGM.h"
Ainsi que l'include de OutilsPGM.h dans main.cpp :
#include "include/OutilsPGM.h"
Je ne comprends donc pas les erreurs 'undefined reference' montrées plus bas...
EDIT: Je n'ai pas précisé mais je suis sur Linux
Voici la tête de mon Makefile
Voici l'erreur lors de la commande 'make' :
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 CPP=g++ CPPFLAGS=-O3 SRC=./source/ all : main main : main.o $(SRC)OutilsPGM.o $(CPP) $(CPPFLAGS) -o main main.o $(SRC)OutilsPGM.o -I/usr/X11R6/include -L/usr/X11R6/lib -lglut -lGLU -lGL -lX11 -lXt -lXi -lXmu -lXext -lX11 -lm main.o : main.cpp $(CPP) $(CPPFLAGS) -o main.o -c main.cpp OutilsPGM.o : $(SRC)OutilsPGM.c $(CPP) $(CPPFLAGS) -o $(SRC)OutilsPGM.o -c $(SRC)OutilsPGM.c clean : rm -f $(SRC)*.o rm -f *.o rm -f main
Je vous remercie de vos futures réponses!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 $ make g++ -O3 -o main.o -c main.cpp g++ -O3 -o main main.o ./source/OutilsPGM.o -I/usr/X11R6/include -L/usr/X11R6/lib -lglut -lGLU -lGL -lX11 -lXt -lXi -lXmu -lXext -lX11 -lm main.o: In function `main': main.cpp:(.text+0xfb2): undefined reference to `LireImage(char*, Image*)' main.cpp:(.text+0xfde): undefined reference to `CreerImage(Image*, int, int)' main.cpp:(.text+0xffc): undefined reference to `CreerImage(Image*, int, int)' main.o: In function `ChoixMenuPrincipal(int)': main.cpp:(.text+0x20a8): undefined reference to `LibererImage(Image*)' main.cpp:(.text+0x20b4): undefined reference to `LibererImage(Image*)' collect2: ld a retourné 1 code d'état d'exécution make: *** [main] Erreur 1
Partager