Zum Inhalt springen

Windows

Unter Windows benötigt DuckDB das Microsoft Visual C++ Redistributable-Paket sowohl als Build- als auch als Laufzeitabhängigkeit. Im Gegensatz zum Build-Prozess auf UNIX-ähnlichen Systemen rufen die Windows-Builds CMake direkt auf.

Visual Studio

Zum Bauen von DuckDB unter Windows empfehlen wir den Visual-Studio-Compiler. Folgen Sie dazu den Anweisungen im CI-Workflow:

Terminal window
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 und MinGW64

DuckDB unter Windows kann auch mit MSYS2 und MinGW64 gebaut werden. Beachten Sie, dass dieser Build nur aus Kompatibilitätsgründen unterstützt wird und nur verwendet werden sollte, wenn der Visual-Studio-Build auf einer gegebenen Plattform nicht machbar ist. Um DuckDB mit MinGW64 zu bauen, installieren Sie die erforderlichen Abhängigkeiten mit Pacman. Wenn Sie mit Enter a selection (default=all) aufgefordert werden, wählen Sie die Standardoption durch Drücken von Enter.

Terminal window
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

Nach erfolgreichem Build finden Sie die Binärdatei duckdb.exe im Verzeichnis des Repositories:

Terminal window
./duckdb.exe

Den Go-Client bauen

Das Bauen unter Windows kann zu folgendem Fehler führen:

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

GitHub-Nutzer vdmitriyev hat Anweisungen zum Bauen des DuckDB-Go-Clients unter Windows geteilt:

  1. Holen Sie vier Dateien (.dll, .lib, .hpp, .h) aus dem Archiv libduckdb-windows-amd64.zip.

  2. Legen Sie sie zum Beispiel ab unter: C:\duckdb-go\libs\.

  3. Installieren Sie die Abhängigkeiten gemäß dem Projekt duckdb-go.

  4. Bauen Sie Ihr Projekt mit den folgenden Anweisungen:

    Terminal window
    set PATH=C:\duckdb-go\libs\;%PATH%
    set CGO_CFLAGS=-IC:\duckdb-go\libs\
    set CGO_LDFLAGS=-LC:\duckdb-go\libs\ -lduckdb
    go build