Windows

Windows (Windows)

Windows에서 DuckDB는 Microsoft Visual C++ Redistributable 패키지를 빌드 시 및 런타임 의존성으로 요구해요. UNIX 계열 시스템의 빌드 과정과 달리, Windows 빌드는 CMake를 직접 호출한다는 점에 유의해요.

출처: 문서

본문

Visual Studio

Windows에서 DuckDB를 빌드하려면 Visual Studio 컴파일러를 권장해요. 사용하려면 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와 MinGW64

Windows의 DuckDB는 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 클라이언트 빌드 (Building the Go Client)

Windows에서 빌드하면 다음 오류가 날 수 있어요:

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

GitHub 사용자 vdmitriyevWindows에서 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
    

더 알아보기 (Learn more)