⌘+k ctrl+k
1.4 (LTS)
搜索快捷键 cmd + k | ctrl + k
Windows

在 Windows 上,DuckDB 需要 Microsoft Visual C++ 可再发行组件包作为构建时和运行时的依赖项。请注意,与类 UNIX 系统上的构建过程不同,Windows 构建直接调用 CMake。

Visual Studio

要在 Windows 上构建 DuckDB,我们建议使用 Visual Studio 编译器。若要使用该编译器,请遵循 CI 工作流中的说明。

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 和 MinGW64

DuckDB 在 Windows 上也可以使用 MSYS2MinGW64 进行构建。请注意,此构建方式仅出于兼容性原因提供支持,且仅当在特定平台上无法进行 Visual Studio 构建时才应使用。要使用 MinGW64 构建 DuckDB,请使用 Pacman 安装所需的依赖项。当出现 Enter a selection (default=all) 提示时,通过按 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

构建成功完成后,您可以在代码仓库目录中找到 duckdb.exe 二进制文件。

./duckdb.exe

构建 Go 客户端

在 Windows 上构建时可能会出现以下错误

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

GitHub 用户 vdmitriyev 分享了在 Windows 上构建 DuckDB Go 客户端的说明

  1. libduckdb-windows-amd64.zip 压缩包中获取四个文件(.dll, .lib, .hpp, .h)。

  2. 将它们放置在例如:C:\duckdb-go\libs\ 目录下。

  3. 按照 duckdb-go 项目的说明安装依赖项。

  4. 使用以下说明构建您的项目

    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 基金会,阿姆斯特丹,荷兰
行为准则 商标使用指南