====== 2025.03.14 Building Zed Editor on Windows ====== Building Zed Editor for Windows ===== 1. Install Rust ===== To download and install: [[https://www.rust-lang.org/tools/install]] winget install Rustlang.Rustup ===== 2. Install MSVC ===== MSVC (Microsoft Visual C++) Use Build Tools for Visual Studio winget install Microsoft.VisualStudio.2022.BuildTools ==== Add C++ Toolset ==== Add from Visual Studio Installer - Press Win + S, type "Visual Studio Installer", and open it. * Select "Visual Studio Build Tools" - Click the "Modify" button. * Add the "Desktop development with C++" workload - Check the workload that includes the C++ compiler and build tools. * Click the "Modify" button to start the installation - Click the "Modify" button to start the installation * Restart your PC once the installation is complete. ==== MSVC Spectre-mitigated Libraries are also required ==== - Select Build Tools for Visual Studio 2022 in the Visual Studio Installer. - Open the Individual components tab. - Search for and check "MSVC v143 Spectre-mitigated Libraries (x86/x64)". - Click Apply changes to complete the installation. ==== cmake is also required ==== winget install Kitware.CMake ===== 3. Install wasm toolchain ===== A set of development tools for compiling and running code for WebAssembly (WASM). It usually includes a compiler, runtime, debugger, linker, etc. rustup target add wasm32-wasip1 ===== 4. Clone the source ===== git clone https://github.com/zed-industries/zed.git ==== Modify rust-toolchain.toml ==== targets = [ "x86_64-apple-darwin", "aarch64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc", "wasm32-wasip1", # extensions "x86_64-unknown-linux-musl", # remote server ] ↓ targets = [ "stable-x86_64-pc-windows-msvc" ] ===== 5. Compile ===== cd zed rustup override set stable-x86_64-pc-windows-msvc cargo build --release ===== 6. Launch ===== After compilation is complete, zed.exe will be created in the following location: target\release\zed.exe ===== Error Collection ===== ==== cmake is missing ==== error: failed to run custom build command for `aws-lc-sys v0.27.0` Caused by: process didn't exit successfully: `C:\Users\s-matsui\zed\target\release\build\aws-lc-sys-e3261c7b861cf150\build-script-main` (exit code: 101) --- stdout cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREFIX cargo:rerun-if-env-changed=AWS_LC_SYS_PREGENERATING_BINDINGS cargo:rerun-if-env-changed=AWS_LC_SYS_EXTERNAL_BINDGEN cargo:rerun-if-env-changed=AWS_LC_SYS_NO_ASM cargo:rerun-if-env-changed=AWS_LC_SYS_CFLAGS cargo:rerun-if-env-changed=AWS_LC_SYS_PREBUILT_NASM cargo:rerun-if-env-changed=AWS_LC_SYS_C_STD cargo:rustc-cfg=x86_64_pc_windows_msvc cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_BUILDER cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC default_for Target: 'x86_64-pc-windows-msvc' cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC cargo:rerun-if-env-changed=CMAKE --- stderr Missing dependency: cmake thread 'main' panicked at C:\Users\s-matsui\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\aws-lc-sys-0.27.0\builder\main.rs:382:40: called `Result::unwrap()` on an `Err` value: "Required build dependency is missing. Halting build." note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... === Solution === [[#cmake is also required]] ==== link.exe is missing ==== error: linker link.exe not found | = note: program not found note: the msvc targets depend on the msvc linker but link.exe was not found note: please ensure that Visual Studio 2017 or later, or Build Tools for Visual Studio were installed with the Visual C++ option. note: VS Code is a different product, and is not sufficient. Compiling cc v1.2.12 error: could not compile windows_x86_64_msvc (build script) due to 1 previous error warning: build failed, waiting for other jobs to finish... error: could not compile typeid (build script) due to 1 previous error error: could not compile serde (build script) due to 1 previous error error: could not compile proc-macro2 (build script) due to 1 previous error === Solution === [[#Add C++ Toolset]] ==== msvc_spectre_libs is missing ==== Compiling clap_builder v4.5.32 warning: msvc_spectre_libs@0.1.2: No spectre-mitigated libs were found. Please modify the VS Installation to add these. error: failed to run custom build command for msvc_spectre_libs v0.1.2 Caused by: process didn't exit successfully: C:\Users\s-matsui\zed\target\release\build\msvc_spectre_libs-362ba44b58252040\build-script-build (exit code: 101) --- stdout cargo:warning=No spectre-mitigated libs were found. Please modify the VS Installation to add these. --- stderr thread 'main' panicked at C:\Users\s-matsui\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\msvc_spectre_libs-0.1.2\build.rs:37:13: No spectre-mitigated libs were found. Please modify the VS Installation to add these. note: run with RUST_BACKTRACE=1 environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... === Solution === [[#MSVC Spectre-mitigated Libraries are also required]] ==== Out of memory ==== Compiling assistant_slash_commands v0.1.0 (C:\Users\s-matsui\zed\crates\assistant_slash_commands) Compiling aws-smithy-xml v0.60.9 Compiling language_model_selector v0.1.0 (C:\Users\s-matsui\zed\crates\language_model_selector) rustc-LLVM ERROR: out of memory Allocation failed error: could not compile `editor` (lib) === Solution === Limit parallel execution set CARGO_BUILD_JOBS=1 Try rebuilding with this setting. {{tag>Diary Editor Zed}}