Problème d'inclusion circulaire
J'ai un petit soucis d'inclusion dans un projet.
En gros, pour ceux que ça intéresse, c'est une appli serveur pour pouvoir jouer à des jeux PBEM sans utiliser le mail. A mon sens, les emails ne sont pas fait pour ça, je voulais y remédier.
Le message d'erreur que j'obtiens:
Code:
1 2 3 4 5 6 7
|
$ make rebuild
gcc -c ziggy.c -o ziggy.o -W -Wall -Wunreachable-code -Wwrite-strings -Wextra --debug -DDEBUG
In file included from server.h:21:0,
from ziggy.c:26:
manage.h:31:17: error: array type has incomplete element type
make: *** [ziggy.o] Erreur 1 |
J'ai réduit les structures pour ne garder que les éléments qui posent problème :
server.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
15 #ifndef DEF_SERVER
16 #define DEF_SERVER
...
21 #include "manage.h"
...
31 struct _client {
32 /* socket related */
...
37 /* engine */
...
40 struct _game* game;
41 struct _client* opponent;
42 };
...
48 #endif |
manage.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
15 #ifndef DEF_MANAGE
16 #define DEF_MANAGE
...
25 #include "server.h"
...
30 struct _game {
31 struct _client client[2];
32 char* game;
33 char* module_name;
34 struct _module module;
35 }
...
47 #endif |
J'ai tenté de résoudre le problème en ajoutant un
avant la déclaration de ma structure _game, mais ça n'a rien changé.
J'ai beau chercher, je ne vois pas du tout comment résoudre ce problème. Pourriez-vous m'indiquer la marche à suivre pour que je puisse compiler cet ensemble de structure ?
Et si au passage vous auriez une explication sur le problème, ça m'éviterais de le reproduire par la suite.
Merci