Bonjour

J'ai un programme class.cpp
Ce programme utilise 2 classes; salle.cpp et salle_cours.cpp (salle_cours est une spécification de salle et qui utilise salle.h

J'ai donc Salle.cpp Salle.h
Salle_cours.cpp Salle_cours.h
class.cpp

Voici mon make file



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
essai.exe:class.o Salle.o Salle_cours.o
	g++ -o essai.exe class.o Salle.o Salle_cours.o
 
Salle.o:Salle.cpp Salle.h
	g++ -c Salle.cpp
 
Salle_cours.o:Salle_cours.cpp Salle_cours.h Salle.h
	g++ -c Salle_cours.cpp
 
class.o: class.cpp Salle.cpp Salle_cours.h
	g++ -c class.cpp
 
clean:
	rm *.o
Le probleme, c'est que quand je compile voici le message d'erreur :
make: *** Pas de règle pour fabriquer la cible « Salle_cours.h », nécessaire pour « class.o ». Arrêt.

Alors, tous mes fichiers sont dans le me dossier

Voici le debut du fichier Salle.cpp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#include "Salle.h"
#include <iostream>
 
#include <string>
 
using namespace std;
...
Voici le debut du fichier Salle.h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
#pragma once
#include <string>
using namespace std;
 
 
class Salle
 
{
...
Voici le debut du fichier Salle_cours.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
#include "Salle_cours.h"
 
 
...
Voici le debut du fichier Salle_cours.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
#pragma once
#include "Salle.h"
 
 
class Salle_cours :
 
	public Salle
 
{
...
Voici le debut du fichier class.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
#include "Salle_cours.h"
#include <iostream>
 
using namespace std;
 
 
int main() {
...

Donc si quelqu'un peux me dire ou est mon erreur ca serait tres gentil

Merci

Aymeric