# w64devkit is a portable C and C++ development kit for Windows

> w64devkit bundles Mingw-w64 GCC, GDB, Make, CMake, and more into a self-extracting, fully offline archive for building Windows software.

**skeeto/w64devkit** — Portable C and C++ Development Kit for x64 (and x86) Windows

- Repository: https://github.com/skeeto/w64devkit
- Stars: 4,870 · Forks: 386
- Language: C
- License: Unlicense
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/skeeto-w64devkit

## w64devkit is a portable Windows C and C++ kit

w64devkit is a portable development kit for building C and C++ applications on and for x86 and x64 Windows. It is described as a Dockerfile that builds from source a small, portable development suite, though Docker is not required to use the finished kit. The self-extracting archive produced by the build is the part most users run. The kit targets a typical unix-like configuration of tools so that Windows developers get a familiar command-line environment. Pre-built, ready-to-use kits are published on the project's Releases page, so most people download a kit rather than compiling it themselves. The focus is on a compact, self-contained toolchain that needs no system changes.

## The tools included in the kit

The included tools cover the core of a C and C++ workflow. Mingw-w64 GCC supplies the compilers, linker, and assembler. GDB provides debugging. GNU Make is the standard build tool, and CMake is included with Ninja and a debugger for the build system. busybox-w32 brings standard unix utilities including the sh shell. Vim is the text editor, Universal Ctags handles source navigation, and Ccache is the compiler cache. NSIS compiles Windows installers through makensis, and aas-sign performs Authenticode signing via Azure Trusted Signing. The toolchain is MSVCRT based, with pthreads, C11 and C++11 threads, and OpenMP, and the 64-bit release is multilib so it targets both x64 and x86. All runtime components are static.

## Using the self-extracting archive

The self-extracting 7z archive contains the tools in a typical unix-like layout. You extract it wherever is convenient, and inside is w64devkit.exe, which launches a console window with the environment already configured. That launcher is the simplest way to enter the environment and requires no system changes. It also sets two environment variables: W64DEVKIT_HOME points to the installation root and W64DEVKIT holds the version. Alternatively, you can add the w64devkit/bin directory to your PATH inside a cmd.exe console or batch script, then start an interactive unix shell with sh -l. The kit is meant to run as any user from any location.

## Main features: no install and fully offline

The main features are about portability and simplicity. No installation is required, so you can run it anywhere as any user and simply delete it when no longer needed. It is fully offline, meaning no internet access is ever required or attempted once the kit is unpacked. There is a strong focus on statically linking all runtime components, which keeps produced binaries self-contained. It is also trivial to build from source, which makes it easy to tweak and adjust any part of the kit for specific requirements. These properties suit reproducible builds, CI runners, and air-gapped environments where network access is not available.

## Operating system support and variant differences

Operating system support differs between the two variants. The x64 kit requires Windows 7 or later, though some tools support Unicode wide paths, inputs, and outputs only on Windows 10 or later, and the toolchain targets Windows 7 by default. The x86 kit requires Windows XP or later and an SSE2-capable processor such as at least a Pentium 4, with limited Unicode support, and it also targets that baseline by default. The runtimes contain SSE2 instructions, so GCC -march will not reliably target less capable processors when runtimes are linked, with exceptions for -lmemory and -lchkstk. CMake, Ninja, and CCache themselves require at least Windows 7.

## Build cache, static linking, and special libraries

The kit adds a few conveniences around building. Prepending $W64DEVKIT_HOME/lib/ccache to PATH transparently caches all builds in Ccache, and you can also call ccache, ccache-gcc, or ccache-g++ directly, with a suggested configuration in w64devkit.ini. Static linking is the default focus, and two unique libraries help lean builds: libmemory.a provides tiny memset, memcpy, memmove, memcmp, and strlen definitions as x86 string instructions for -nostdlib cases, and libchkstk.a gives a leaner ___chkstk_ms than GCC for linking MSVC artifacts. Import tables are left without junk ordinal hints, which the README says makes binaries more compressible and theoretically faster to load.

## Documentation, extra commands, and licensing

w64devkit does not bundle much documentation, though Vim ships its own built-in help and BusyBox pages are available via -h. The README instead recommends a list of no-cost, downloadable offline references such as cppreference, the GCC and GNU Make manuals, the Win32 help file, the C and C++ standard drafts, the Intel Intrinsics Guide, and the Intel Software Developer Manuals. A few unique command-line programs ship too, including peports for inspecting EXE and DLL import tables, vc++filt for Visual C++ name decorations, make2compdb for generating a compilation database, recycle for sending files to the Recycle Bin, and debugbreak for breaking into the debugger. On licensing, GCC runtime is covered by the GCC Runtime Library Exception, while the Mingw-w64 runtime carries its own BSD-style licenses documented in a bundled file.

## Conclusion

w64devkit is a portable, self-contained development kit for building C and C++ software on and for x86 and x64 Windows, bundling Mingw-w64 GCC, GDB, Make, CMake, Ninja, Vim, Ccache, and more into a single offline archive. It needs no installation, runs from any location as any user, and statically links its runtime components for self-contained output. With both an x64 multilib release and an x86 variant, plus build caching and unique helper libraries, it suits reproducible and air-gapped Windows builds. Pre-built kits are available on the Releases page.

## FAQ

### How to download w64devkit?

Pre-built, ready-to-use kits are published on the project Releases page, so most users download a kit rather than building from source. You can also build it yourself with Docker or have GitHub Actions build it and download the artifacts.

### Which MinGW should I install?

w64devkit bundles the Mingw-w64 GCC toolchain, which provides the compilers, linker, and assembler. You do not install a separate MinGW distribution, because the kit ships Mingw-w64 as its C and C++ compiler suite.

### What is mingw64 used for?

In w64devkit, Mingw-w64 GCC is the compiler collection used to build C and C++ applications on and for Windows. It supplies the compilers, linker, and assembler that turn source code into Windows executables and libraries.

## Sources

- [Issues](https://github.com/skeeto/w64devkit/issues)
- [License: Unlicense](https://github.com/skeeto/w64devkit/blob/master/LICENSE)
- [README](https://github.com/skeeto/w64devkit/blob/master/README.md)
- [Releases](https://github.com/skeeto/w64devkit/releases)
- [skeeto/w64devkit on GitHub](https://github.com/skeeto/w64devkit)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/skeeto-w64devkit
