What is the difference between the various Windows installation files:
- i686-pc-windows-gnu
- i686-pc-windows-msvc
- x86_64-pc-windows-gnu
- x86_64-pc-windows-msvc
What is the difference between the various Windows installation files:
The i686 ones build 32 bit binaries. gnu vs msvc is the supporting toolset used. At a minimum it determines which linker is used.
The -msvc one works with Visual Studio and most of the native Windows tools and libraries.
i686 is for computers that were made 20 years ago or older.
The thing that is left unanswered here is βwhat is -gnu
β in the Rust case.
That's version for Cygwin β environment that provides unix-like experience on Windows.
It was quite popular for a long time, but eventually Microsoft started providing WSL and thus, today, most people who want or need unix-like experience on Windows just run Linux in a VM.
It is for MinGW, not Cygwin. MinGW uses regular Windows API's and just uses a GNU toolchain (GCC as C/C++ compiler, ld.bfd as linker, ...). Cygwin tries to emulate a POSIX system. Rust currently doesn't have any Cygwin support.