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
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
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
$ 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
Je vous remercie de vos futures réponses!