constantes.h[/COLOR
Code constantes.h[/COLOR : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ] #ifndef _CONSTANTES_H #define _CONSTANTES_H const char *str_constant[] = { "nom1", "nom2"}; #endif
Code A.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #ifndef _A_H #define _A_H #include "constantes.h" void fonctionA(); #endif
Code A.c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include "A.h" void fonctionA() { ... Définition de ma fonction printf("%s",str_constant[0]); ... }
Code B.h : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #ifndef _B_H #define _B_H #include "constantes.h" void fonctionB(); #endif
Code B.c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include "B.h" void fonctionB() { ... Définition de ma fonction printf("%s",str_constant[0]); ... }
Code main.c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include "A.h" #include "B.h" void mexFunction( int nlhs, /* nrhs : nombre de parametres en entree */ mxArray *plhs[], /* prhs : tableau sur les elements en entree */ int nrhs, /* nlhs : nombre de parametres en sortie */ const mxArray *prhs[]) /* plhs : tableau sur les elements en sortie */ { fonctionA(); fonctionB(); }
Je comprends à peu prêt d'ou vient l'erreur, il doit surement charger deux fois le fichier constantes.h à la compilation et généré une erreur. Mais les #ifndef / #define ne sont pas censés protéger ces erreurs? Comment remédier à ce problème?
Merci pour votre aide!
Edit : je sais pas trop si je devais poser ma question ici, ou dans la partie C... J'espère avoir bien fait!
Partager