Use include guards. in your headers, for example:
// Header.h
#ifndef HEADER_H_
#define HEADER_H_
// code from original header.h
#endif
And don't include .cpp
files in other .cpp
files. Include the necessary headers only.
Edit If the header files come from a 3rd party library, and do not have include guards, I would be very suspect of that library. I would drop it. However, you can make your own headers, including the library header in an include guard:
// FixedHeader.h
#ifndef HEADER_H_
#define HEADER_H_
#include "header.h"
#endif
Then #include "FixedHeader.h"
. But I would drop the library, seriously.