Bonjour tout le monde,
depuis plus de deux heures je n'arrive pas à trouver l'erreur qui empêche mon programme de compiler. Je tente pour la première fois de structurer mon programme avec cmake mais c'a pas l'air de bien réussirmême si cela peut paraitre simple , mais je souhaite vivement vos aides. Je mets le code et âpres l'erreur:
le fichier CMakeLists.txt
les fichiers.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CMAKE_MINIMUM_REQUIRED(VERSION 3.0) if(NOT WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") ENDIF() ADD_EXECUTABLE(tp1 src/main.cpp src/stocker.cpp src/stocker.h src/produits.h src/produits.cpp )
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 #ifndef PRODUITS_H #define PRODUITS_H #include <iostream> #include <string> #include "stocker.h" using namespace std class Produits { private: int ref; string designation; public: Produits(int ref, string desig); ~Produits(); void affiche(); }; #endifle premier étant le fichier produits.h et le second le fichier stocker.h
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 #ifndef STOCKAGE_H #define STOCKAGE_H #include <string> #include "produit.h" #include <vector> using namespace std; class Stockage { private: int num; vector<Produits*> vProd; string type; public: Stockage(int num,string type); ~Stockage(); void ajouterProduit(Produit*); void afficheTout(); }; #endif
Ensuite les fichiers .cpp
stocker.cpp
produits.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "stocker.h" #include <iostream> #include<string> using namespace std; Stockage::Stockage(int num,string type){ this->num=num; this->type=type; }
et en fin le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <iostream> #include "produits.h" #include "stockage.h" using namespace std; Produits::Produits(int ref, string desc){ ref=ref; designation=desc; } Produits::affiche(){ cout<<"Ref:"<<ref<<" designation:"<<designation<<endl; }
Et mon produit, il me dit que les types Produits et Stockage n'existent pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <iostream> #include "produits.h" #include "stocker.h" using namespace std; int main(int argc, char* argv[]){ Stockage s(1,"viande"); Produits pf1(1,"pf1"); //pf1.affichage(); }
je met une capture de mon écran quand je compile
et je precise que mes fichiers sont bien structurer.
merci d'avance.
Partager