This page is part the [:windows:Sage on Windows port].

Available Toolchains on Windows

The five million lines of code in Sage are quite demanding on the compiler and the code has been written primarily with gcc on POSIX architectures. Hence in many cases we will have to do a port to MSVC or at a minimum to a non-POSIX API. We have three flavors of gcc (Cygwin, MinGW, Microsoft SFU) and the Microsoft/Intel compilers:

Cygwin

MinGW

Ah, this problem again. The build of mingw that you are using were
written with msvcrt in mind. For the most part they are compatible
with msvcr71, but there are a few places where they reference a table
that is different between the two runtimes, namely iostream in C++ and
ischar() in C. Consequently, there are some extension modules built
with mingw which work with msvcrt because they need iostream, some
with msvcr71 because they need to pass FILE pointers, and probably
some which won't work with either. The core problem won't be fixed
until mingw writes their headers for msvcr71. They may have; it looks
like they just released some new builds this month. It would be worth
checking these out.

MSVC

Microsoft Services for Unix