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는 MSYS2와 MinGW64로도 빌드할 수 있어요. 다만 이 빌드는 호환성 목적으로만 지원되며, 주어진 플랫폼에서 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 사용자 vdmitriyev가 Windows에서 DuckDB Go 클라이언트를 빌드하는 방법을 공유했어요:
-
libduckdb-windows-amd64.zip아카이브에서 네 파일(.dll, .lib, .hpp, .h)을 가져와요. -
예를 들어
C:\duckdb-go\libs\에 배치해요. -
duckdb-go프로젝트에 따라 의존성을 설치해요. -
다음 지침으로 프로젝트를 빌드해요:
set PATH=C:\duckdb-go\libs\;%PATH% set CGO_CFLAGS=-IC:\duckdb-go\libs\ set CGO_LDFLAGS=-LC:\duckdb-go\libs\ -lduckdb go build