## Before you begin

Depending on how you obtained the CDT, you might have also received a toolchain with a built-in CDT integration. However, if you downloaded the CDT from the Eclipse web site, then you will require a toolchain before you can build and debug any projects.

The standard CDT supports integration with both GNU (GCC) and LLVM (Clang) toolchains. If you require a toolchain to build software for your development host, these are the best choices to get started.

Each platform that runs the CDT requires different steps to acquire these toolchains.

### Microsoft Windows

For Windows, MinGW and Cygwin are the two main platform choices for acquiring the GNU and LLVM toolchains. It is important to understand the difference between them. Cygwin produces executables that use the Cygwin POSIX runtime. Note that this runtime is GPL licensed. MinGW produces native Windows executables that do not require a separate runtime.

- For MinGW, it is recommended to use the MSYS2 software distribution. The CDT will automatically detect tools that are installed using the MSYS2 package manager. Download and run the latest MSYS2 installer by following instructions on the MSYS2 Getting Started page. When you reach the UCRT64 environment prompt, use the following commands to install individual tools:

  Tool | Installation command | Notes
  --- | --- | ---
  clang | `pacman -S mingw-w64-ucrt-x86_64-clang` | Provides the LLVM with Clang toolchain
  clangd | `pacman -S mingw-w64-ucrt-x86_64-clang-tools-extra` | Required by the C/C++ Editor (LSP)
  cmake | `pacman -S mingw-w64-ucrt-x86_64-cmake` | Required for building CMake projects
  gcc | `pacman -S mingw-w64-ucrt-x86_64-gcc` | Provides the MinGW GCC toolchain
  gdb | `pacman -S mingw-w64-ucrt-x86_64-gdb` | Required for local C/C++ Application debugging using GDB (recommended)
  lldb-mi | `pacman -S mingw-w64-ucrt-x86_64-lldb-mi` | Required for local C/C++ Application debugging using LLDB (experimental)
  make | `pacman -S make` | Required for building Managed Build projects
  ninja | `pacman -S mingw-w64-ucrt-x86_64-ninja` | Required for building CMake projects

- Cygwin can be installed from the Cygwin site at https://www.cygwin.com. You need to manually select the gcc, gdb, and make packages to install the toolchain. Note that there is a known issue with running recent versions of Cygwin gdb under the CDT.

- The Windows SDK provides the Visual C++ compiler and header files and libraries required to create Windows applications. The CDT Visual C++ build integration will find these files based on where you installed the SDK. No other setup is required.
  Note: For this release, the integration should be considered beta quality. It is not recommended for production use.

### Linux

All Linux distributions include the GNU toolchain. They may not, however, be installed by default. For instructions about installing the GNU toolchain for Linux, see the instructions for your particular distribution.

In the case of Debian-based Linux distributions, use the following commands to install individual tools:

Tool | Installation command | Notes
--- | --- | ---
clang | `apt install clang` | Provides the LLVM with Clang toolchain
clangd | `apt install clangd` | Required by the C/C++ Editor (LSP)
cmake | `apt install cmake` | Required for building CMake projects
gcc | `apt install build-essential` | Provides the Linux GCC toolchain
gdb | `apt install gdb` | Required for local C/C++ Application debugging
make | `apt install make` | Required for building Managed Build projects
ninja | `apt install ninja-build` | Required for building CMake projects

In the case of Red Hat-based Linux distributions, use the following commands to install individual tools:

Tool | Installation command | Notes
--- | --- | ---
clang | `dnf install clang` | Provides the LLVM with Clang toolchain
clangd | `dnf install clang-tools-extra` | Required by the C/C++ Editor (LSP)
cmake | `dnf install cmake` | Required for building CMake projects
gcc | `dnf groupinstall "Development Tools"` | Provides the Linux GCC toolchain
gdb | `dnf install gdb` | Required for local C/C++ Application debugging
make | `dnf install make` | Required for building Managed Build projects
ninja | `dnf install ninja-build` | Required for building CMake projects

### macOS

The CDT supports the LLVM with Clang toolchain provided by the Xcode Command Line Tools. It is recommended to use the Homebrew software distribution for any additional tools. The CDT will automatically detect tools that are installed using the Homebrew package manager. Install Homebrew by following instructions on the Homebrew home page. Then use the following commands at a Terminal prompt to install individual tools:

Tool | Installation command | Notes
--- | --- | ---
cmake | `brew install cmake` | Required for building CMake projects
lldb-mi | `brew install --HEAD eclipse-cdt/tools/lldb-mi` | Required for local C/C++ Application debugging on Apple silicon
ninja | `brew install ninja` | Required for building CMake projects

### Other Platforms

The GNU toolchain is supported on all platforms that the CDT supports. For instructions about installing the GNU toolchain on your platform, see your platform vendor.

- CDT Home

- Building Manually

Copyright (c) 2000, 2026 Contributors to the Eclipse Foundation