Cross-compiling from UNIX to Windows with MSVC using Wine. NOTE: we no longer recommend using this approach unless you absolutely must. Firstly, the whole setup is very hacky and brittle (and potentially illegal: we were told it's against the license to run MSVC like that) and often doesn't work with the most recent versions of MSVC (because Wine hasn't caught up on the new APIs yet). Also, there are edge cases where build2 does not fully support this "mode" of running MSVC. It works for projects that don't do anything unusual, but, for example, you won't be able to build anything that requires MASM. We believe if you must test with MSVC, the only sane way to do it is with a Windows VM (which is what we do on our CI). If you just need to test that your code builds for Windows, another option is to use Clang and the LLVM linker (lld-link) as a cross-compiler. With this approach you will only need to copy the MSVC standard library and PlatformSDK (and won't need to mess with Wine). See INSTALL for setup instructions. Note that while this project is called msvc-linux, you may be able to use it on other UNIX-like systems supported by Wine.