Scripts to cross build a windows QGIS binary from Linux using MXE: (M cross environment) http://mxe.cc/ For now, Python bindings cannot be built with mxe. Follow the instructions on the website to prepare the mxe environment, you will need to build all required dependencies for QGIS. Note that some of the packages listed below are dependencies of other packages, you will probably not need to build them all explicitly. armadillo bfd bzip2 cairo cmake curl dbus dlfcn-win32 expat fontconfig freetds freetype freexl gcc gdal gendef geos gettext giflib glib gmp gnutls gsl gta harfbuzz hdf4 hdf5 icu4c isl jasper jpeg json-c lcms libffi libgcrypt libgeotiff libgnurx libgpg_error libiconv libidn2 libmng libmysqlclient libpng libspatialindex libssh2 libunistring libwebp libxml2 libzip lzo mpc mpfr netcdf nettle openblas openjpeg openssl pcre pcre2 pixman pkgconf portablexdr postgresql proj qca qscintilla2 qt3d qtactiveqt qtbase qtcanvas3d qtcharts qtconnectivity qtdatavis3d qtdeclarative qtgamepad qtgraphicaleffects qtimageformats qtkeychain qtlocation qtmultimedia qtpurchasing qtquickcontrols qtquickcontrols2 qtscript qtscxml qtsensors qtserialbus qtserialport qtspeech qtsvg qttools qttranslations qtvirtualkeyboard qtwebchannel qtwebkit qtwebsockets qtwebview qtwinextras qtxmlpatterns qwt spatialite sqlite tiff xz zlib When done, you can edit the build-mxe.sh script to set the path to your mxe installation.