That is not really a header collision but a name collision. They appear if you include headers of different libraries declaring the same name in the same translation unit and if either one or more of those libraries don't declare the colliding name inside a proper namespace or if you (or god forbid, one of the library headers) pour out the names into namespace scope with a using directive.
So what you can do to get rid of the error:
First, scan your code for using directives, especially for using namespace Gdiplus;
and using Gdiplus::Font;
since that seems to be the colliding name. Then generally try to avoid including GDIPlus and comdef headers in the same translation unit. That is best done by restricting both kinds of include to .cpp files. If you absolutely have to include one of them in a header, that header itself should be restricted to a given submodule, and the other headers should not be used in the entire submodule.
There may be a point where you want to use functionality of both libraries. If that is the case, you can still separate the use of the libraries themselves by providing an interface to the functionality you want to use of each libray. That way you encapsulate the use of the library and can control the names in the interfaces to avoid collisions in the point where you use both functionalities.
That is some very general text - examples can be given if you show us the code that makes problems.