A header should only have declarations. It sounds like you are trying to define something multiple times outside of the headers. Definitions of shared names should be placed in a separate source file so as to ensure that they are only defined once:
/* defs.h */
#ifndef HEADER
#define HEADER
/* Declarations */
#endif
/* defs.c */
#include "defs.h"
/* Definitions */
Compile and link the source file along with your project, and all should be well.