fix build with msvc