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éussir;) mê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.hCode:
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:
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(); }; #endif
le premier étant le fichier produits.h et le second le fichier stocker.hCode:
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.cppCode:
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 mainCode:
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 pasCode:
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
Pièce jointe 430437 et je precise que mes fichiers sont bien structurer.
merci d'avance.