Try encapsulating the #include with #define Object dxObject #define Angle dxAngle #define Screen dxScreen #define Boolean dxBoolean #include "dx/dx.h" #undef Boolean #undef Screen #undef Angle #undef Object
Another alternative is not to include dx.h in your header files. An Object is just an opaque pointer, meaning it may as well be void* as far as your code is concerned. If you use only a few prototypes, you could #define dxObject int*, and then write your own copies of the relevant prototypes. - Drew