Two suggestions...
1) Create a Global header with all the stuff that has to be in every page in it. I typically do this with windows and library includes.
2) Use guard code in your headers....
// MyInclude.h
#ifndef MYINCLUDE_H
#define MYINCLUDE_H
// put your stuff here
#endif // MYINCLUDE_H
Since your defines are now wrapped in a conditional statement that relies upon MYINCLUDE_H not being defined, each header will now only be read once by the pre-processor. Of course you would use a unique name, generally the header file name in each one.
Hope that helps...