Use #pragma message WARN(your message) instead of #warning to stay universal.
Don't use OVERRIDE FINAL on desctructors
Fixed typos and missing std:: on windows