If I include <unordered_map> in ZorroDLL.cpp after pch.h and before zorro.h - all indeed compiles fine and there is no conflict with 'string'.

However, attempting to define an unordered_map <string, int> variable later shows that unordered_map is not recognized as a type by the compiler.

Where is the catch?