Hi: I am getting an error while compiling some library wrappers. The overall structure of the error producing code is: A.h ----- ... struct MyStruct; //forward declaration typedef struct MyStruct *MyStructID; ... B.h ----- #include A.h #include A1.h #include A2.h ... C.h ----- #include B.h class MyClass { public: MyClass(MyStructID id); .... }; Now, I am getting an error due to the forward declaration in A.h. However, A.h and B.h belong to some library that is working correctly (and which library C, for which I am trying to write a wrapper, depends on). I don't know if this information (I tried to abstract and simplify the problem the most I could) is enough for anybody to figure out what is going on... if anyone needs some more detail in order to help me out, please ask for it. So the question is: does anyone know why I am getting the forward declaration error, while using boost (note that the A library -- owner of A.h and B.h -- is installed and compiles correctly). Does anyone know how to get around this problem? Thanks, Ricardo Kirkner