windows.h defines conflicting symbols unless we define NOMINMAX.