Cross-Compiling from Linux is quite easy. Mingw-w64 works great for Windows (x86/x86-64) targets, osxcross works for Mac OS X: [https://github.com/tpoechtrager/osxcross](https://github.com/tpoechtrager/osxcross)
I have no experiences cross-compiling from Windows though. My hope would be that the Linux subsystem becomes mature enough to use the same approaches like on Linux. Compiling for Linux might be the hardest, since you want to be compatible with an old glibc version or statically link musl. So while I can compile binaries for OSX and Windows easily from Linux, I need to use a chroot with an old Debian version to get Linux compatibility. An alternative might be The GNU C Library With Versioned Interface: [https://www.kernel.org/pub/software/libs/glibc/hjl/compat](https://www.kernel.org/pub/software/libs/glibc/hjl/compat)/
