added #undef to link with msvc successfully.