Add declaration of virtual destructors to each "interface" in the projects. For example:
class ILogger: public IUnknown { public: virtual ~ILogger() { } ... };
and so on in another classes.