Inherating from std::string in ustring.h causes duplicate symbol definitions
In vcpkg we found that gtkmm exports template functions from the standard library from it's DLLs. This is a problem because those exported functions don't have selectany behavior, and so are always used no matter what. This wouldn't be a problem except that multiple libraries do this, usually for similar reasons as gtkmm (they want the unix behavior of exporting everything by default from their shared libraries. Unfortunately when multiple libraries do this it makes them impossible to ever use together, as you'll get duplicate definition errors.
I'm still trying to figure out the specific cause of these problems and I can't reproduce with a minimal project (although getting rid of the explicit instantiations that derive from string does fix the problem.