How to install MinGW-w64 and MSYS2?
Unfortunately, the MinGW-w64 installer you used sometimes has this issue. I myself am not sure about why this happens (I think it has something to do with Sourceforge URL redirection or whatever that the installer currently can't handle properly enough).
Anyways, if you're already planning on using MSYS2, there's no need for that installer.
Download MSYS2 from this page.
After the install completes, click on the newly created "MSYS2 Shell" option under either
MSYS2 64-bit
orMSYS2 32-bit
in the Start menu (ormingw64.exe
ormingw32.exe
in the installation directory).If done correctly, the terminal prompt will say
MINGW64
orMINGW32
respectively, notMSYS
.Update MSYS2 using
pacman -Syuu
. If it closes itself during the update, restart it and repeat the same command to finish the update.You should routinely update your installation.
Install a toolchain
a) for 64-bit:
pacman -S mingw-w64-x86_64-toolchain
b) for 32-bit:
pacman -S mingw-w64-i686-toolchain
This includes GCC (the compiler), GDB (the debugger), and more.
Install any libraries/tools you may need. You can search the repositories by doing
pacman -Ss name_of_something_i_want_to_install
e.g.
pacman -Ss gsl
and install using
pacman -S package_name_of_something_i_want_to_install
e.g.
pacman -S mingw-w64-x86_64-gsl
and from then on the GSL library will be automatically found by your compiler!
Make sure any compilers and libraries you install have this package prefix (
mingw-w64-x86_64-
for 64-bit ormingw-w64-i686-
for 32-bit). Only use unprefixed packages for misc command-line utilities (such asgrep
,sed
,make
, etc), unless you know what you're doing.Verify that the compiler is working by doing
gcc --version
If you want to use the toolchains (with installed libraries) outside of the MSYS2 environment, all you need to do is add <MSYS2 root>/mingw64/bin
or <MSYS2 root>/mingw32/bin
to your PATH
.
You can now also get the standalone personal build of MinGW-w64 from https://winlibs.com/ which requires no installation - just extract and its ready to use. This allow having multiple toolchains on the same system (e.g. one for Windows 32-bit and another for Windows 64-bit).
MSYS has not been updated a long time, MSYS2 is more active, you can download from MSYS2, it has both mingw
and cygwin fork
package.
To install the MinGW-w64 toolchain (Reference):
- Open MSYS2 shell from start menu
- Run
pacman -Sy pacman
to update the package database - Re-open the shell, run
pacman -Syu
to update the package database and core system packages - Re-open the shell, run
pacman -Su
to update the rest - Install compiler:
- For 32-bit target, run
pacman -S mingw-w64-i686-toolchain
- For 64-bit target, run
pacman -S mingw-w64-x86_64-toolchain
- For 32-bit target, run
- Select which package to install, default is all
- You may also need
make
, runpacman -S make