Some notes on how to build Bitcoin Core for Windows.
Most developers use cross-compilation from Ubuntu to build executables for Windows. This is also used to build the release binaries.
Building on Windows itself is possible (for example using msys / mingw-w64), but no one documented the steps to do this. If you are doing this, please contribute them.
These steps can be performed on, for example, an Ubuntu VM. The depends system will also work on other Linux distributions, however the commands for installing the toolchain will be different.
Make sure you install the build requirements mentioned in build-unix.md. Then, install the toolchains and curl:
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
To build executables for Windows 32-bit:
cd depends make HOST=i686-w64-mingw32 -j4 cd .. ./autogen.sh # not required when building from tarball ./configure --prefix=`pwd`/depends/i686-w64-mingw32 make
To build executables for Windows 64-bit:
cd depends make HOST=x86_64-w64-mingw32 -j4 cd .. ./autogen.sh # not required when building from tarball ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 make
For further documentation on the depends system see README.md in the depends directory.