My understanding is that when you write a library then the header should be of the form #ifndef macro_corresponding_to_the_library #define macro_corresponding_to_the_library .. .. ...definitions... .. #endif This prevents the objects in the library to be defined more than once in case the header gets included more than once. Assuming that I got that correctly my question is whether there is some ...