Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/dolphin-emu/dolphin/llms.txt

Use this file to discover all available pages before exploring further.

Building Dolphin on Windows uses Visual Studio solution files rather than CMake. This guide covers the complete process.

Prerequisites

Required Software

  • Visual Studio 2022 (17.2.3 or later) or Build Tools for Visual Studio
  • Git for Windows
  • Windows SDK (latest version)
Dolphin targets the latest MSVC shipped with Visual Studio or Build Tools. Other compilers might work but are not tested or recommended.

Compiler Requirements

  • MSVC: Version 19.32 or later (Visual Studio 2022 17.2.3+)
  • C++ Standard: C++23 support required

Step-by-Step Build Instructions

1
Clone the Repository
2
Clone the Dolphin repository from GitHub:
3
git clone https://github.com/dolphin-emu/dolphin.git
cd dolphin
4
Initialize Submodules
5
Dolphin requires Git submodules to be initialized before building:
6
git submodule update --init --recursive
7
Skipping this step will cause build failures.
8
Open the Solution File
9
Open the Visual Studio solution file located at:
10
Source/dolphin-emu.sln
11
You can open it by:
12
  • Double-clicking the file in File Explorer
  • Using File > Open > Project/Solution in Visual Studio
  • Running from command line: start Source/dolphin-emu.sln
  • 13
    Select Build Configuration
    14
    Visual Studio provides two main build configurations:
    15
    Release Configuration
    16
  • Includes performance optimizations
  • Best for normal use and testing
  • Provides the best user experience
  • Makes debugging more difficult
  • 17
    Debug Configuration
    18
  • Significantly slower execution
  • More verbose output
  • Less permissive (catches more errors)
  • Easier to debug with breakpoints and inspectors
  • 19
    Select the desired configuration from the dropdown menu in the Visual Studio toolbar.
    20
    Select Target Architecture
    21
    Choose the appropriate architecture for your system:
    22
  • x64: For 64-bit Intel/AMD processors (most common)
  • ARM64: For ARM64 Windows devices
  • 23
    Build Dolphin
    24
    Build the solution using one of these methods:
    25
    Visual Studio
    Build > Build Solution (or press Ctrl+Shift+B)
    
    MSBuild Command Line
    msbuild Source/dolphin-emu.sln /p:Configuration=Release /p:Platform=x64 /m
    
    26
    Locate Output Files
    27
    After a successful build, binaries are located in:
    28
  • x64 builds: Binary/x64/
  • ARM64 builds: Binary/ARM64/
  • 29
    The main executable is Dolphin.exe.

    Advanced Build Options

    Command-Line Builds

    You can build from the command line using MSBuild:
    # Build Release configuration for x64
    msbuild Source/dolphin-emu.sln /p:Configuration=Release /p:Platform=x64 /m
    
    # Build Debug configuration for x64
    msbuild Source/dolphin-emu.sln /p:Configuration=Debug /p:Platform=x64 /m
    
    # Build for ARM64
    msbuild Source/dolphin-emu.sln /p:Configuration=Release /p:Platform=ARM64 /m
    
    The /m flag enables parallel compilation for faster builds.

    Clean Builds

    To perform a clean build (remove all previous build artifacts):
    Build > Clean Solution
    Then: Build > Build Solution
    

    Building Specific Projects

    To build only specific components:
    1. Right-click the project in Solution Explorer
    2. Select Build
    Common projects:
    • Dolphin: Main Qt GUI application
    • DolphinNoGUI: Command-line variant
    • DolphinTool: CLI utility for disc image management

    Architecture Support

    x64 (x86-64)

    • Most common architecture
    • Full feature support
    • Best performance and compatibility

    ARM64

    • For Windows on ARM devices
    • Surface Pro X, ARM-based laptops
    • OpenGL backend not available on Windows ARM64

    Compiler Flags and Options

    Dolphin’s Windows build uses the following MSVC options:

    Optimization Flags

    • /Gy - Enable function-level linking
    • /Oi - Generate intrinsic functions
    • /GS- - Disable buffer security checks (Release only)
    • /Zc:inline - Remove unreferenced inline functions/data
    • /OPT:REF /OPT:ICF - Eliminate dead code and data (linker)

    Standards Compliance

    • /std:c++23 - C++23 standard
    • /Zc:__cplusplus,enumTypes,externConstexpr,preprocessor,templateScope,throwingNew - Strict conformance
    • /volatile:iso - ISO C++ volatile semantics
    • /fp:precise - Precise floating-point model

    Code Quality

    • /W4 - Warning level 4 (highest)
    • /WX - Treat warnings as errors
    • /GR- - Disable RTTI
    • /EHsc - Exception handling model

    Troubleshooting

    Missing Windows SDK

    Error: Cannot find Windows SDK Solution: Install the latest Windows SDK through Visual Studio Installer:
    1. Open Visual Studio Installer
    2. Click Modify on your Visual Studio installation
    3. Under Individual Components, select the latest Windows SDK
    4. Click Modify to install

    Submodules Not Initialized

    Error: Missing header files or libraries from Externals Solution: Initialize submodules:
    git submodule update --init --recursive
    

    Build Errors After Git Pull

    Solution: Perform a clean build:
    1. Close Visual Studio
    2. Delete the Binary/ directory
    3. Run git submodule update --init --recursive
    4. Reopen the solution and build

    Out of Memory During Build

    Solution: Reduce parallel compilation:
    • In Visual Studio: Tools > Options > Projects and Solutions > Build and Run
    • Set Maximum number of parallel project builds to a lower value (e.g., 2-4)

    Linker Errors

    Error: LNK errors about missing symbols Solution:
    1. Ensure submodules are initialized
    2. Try a clean build
    3. Verify you’re using a supported MSVC version (19.32+)

    Next Steps

    After building:
    • The executable is in Binary/x64/ or Binary/ARM64/
    • Copy the Data/Sys folder to Binary/x64/Sys if it’s not already present
    • Run Dolphin.exe to start the emulator
    For development builds, Visual Studio will automatically copy necessary files to the output directory.