fix build in msvc