Thanks for the info. I’ve wrapped my code in a namespace.
I was thinking that, ideally, making use of a library should never pollute the global namespace. But now I’m not sure that is even possible. For example, let’s say that the stuff that GTKMM needs to include which isn’t part of the direct API were all put into a separate namespace, maybe __GTKMM__. Then, I think due to #include guards, if some user of this library were to need to use another library already included in GTKMM, their could would silently not include it, but also it would not be available in the global namespace, or whatever namespace it normally is in because GTKMM put it under its own namespace.
Long story short, I guess there’s no elegant solution here.