⌘+k ctrl+k
Search Shortcut cmd + k | ctrl + k
Windows

On Windows, DuckDB requires the Microsoft Visual C++ Redistributable package both as a build-time and runtime dependency. Note that unlike the build process on UNIX-like systems, the Windows builds directly call CMake.

Visual Studio

To build DuckDB on Windows, we recommend using the Visual Studio compiler. To use it, follow the instructions in the CI workflow:

python scripts/windows_ci.py cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_GENERATOR_PLATFORM=x64 \ -DENABLE_EXTENSION_AUTOLOADING=1 \ -DENABLE_EXTENSION_AUTOINSTALL=1 \ -DDUCKDB_EXTENSION_CONFIGS="${GITHUB_WORKSPACE}/.github/config/bundled_extensions.cmake" \ -DDISABLE_UNITY=1 \ -DOVERRIDE_GIT_DESCRIBE="$OVERRIDE_GIT_DESCRIBE" cmake --build . --config Release --parallel 

MSYS2 and MinGW64

DuckDB on Windows can also be built with MSYS2 and MinGW64. Note that this build is only supported for compatibility reasons and should only be used if the Visual Studio build is not feasible on a given platform. To build DuckDB with MinGW64, install the required dependencies using Pacman. When prompted with Enter a selection (default=all), select the default option by pressing Enter.

pacman -Syu git mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja git clone https://github.com/duckdb/duckdb cd duckdb cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DBUILD_EXTENSIONS="icu;parquet;json" cmake --build . --config Release 

Once the build finishes successfully, you can find the duckdb.exe binary in the repository's directory:

./duckdb.exe 

Building the Go Client

Building on Windows may result in the following error:

go build 
collect2.exe: error: ld returned 5 exit status 

GitHub user vdmitriyev shared instructions for building the DuckDB Go client on Windows:

  1. Get four files (.dll, .lib, .hpp, .h) from the libduckdb-windows-amd64.zip archive.

  2. Place them to, e.g.,: C:\DuckDB-Go\libs\.

  3. Install the dependencies following the go-duckdb project.

  4. Build your project using the following instructions:

    set PATH=C:\DuckDB-Go\libs\;%PATH% set CGO_CFLAGS=-IC:\DuckDB-Go\libs\ set CGO_LDFLAGS=-LC:\DuckDB-Go\libs\ -lduckdb go build 
© 2025 DuckDB Foundation, Amsterdam NL
Code of Conduct Trademark Use