La réponse générale à ce genre de problème est de passer par une prédéclaration (cf cours sur les listes chaînées) au lieu d'un include, genre :
struct machin;
au lieu de
#include "machin.h"
Bien sûr cela suppose n'utiliser que des pointeurs sur struct machin dans le fichier en question.