Bonjour,
J'ai créé plusieurs répertoirs maths, draw ... où chaque fichier est définit par un espace de nom.
par exemple, ./src/maths/espace.h :
J'ai créé un fichier entête général pour définir des macros :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #ifndef ESPACE_H #define ESPACE_H #include "../defines.h" ... namespace maths { class Espace {...} }
fichier ./src/defines.h :
Mon soucis avec ce fichier, c'est que la macro QSPEspace ne va pas passer à la compilation des fichiers situés dans le répertoire maths.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #ifndef DEFINES_H #define DEFINES_H #define QSPEspace QSharedPointer<maths::Espace> #define QSPVImage QSharedPointer< std::vector<cv::Mat> > #endif // DEFINES_H
Mais si j'écris du coup :
Cette fois ci si je veux que ça compile je suis obligé d'avoir un 'using namespace maths;' dans mon fichier ./src/draw/draw.cpp .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #ifndef DEFINES_H #define DEFINES_H #define QSPEspace QSharedPointer<Espace> #define QSPVImage QSharedPointer< std::vector<cv::Mat> > #endif // DEFINES_H
J'aimerais avoir quelque chose de propre, qu'est ce qui serait le mieux de faire pour mes macros QSPEspace QSPVimage ?
Merci d'avance, :-)
Partager