Skip to main content

Choose a compiler

A compiler is a necessary tool to program in C++.

What is a compiler

A compiler translates code written in C++ language into a format that is able to be read by computers. C++ code cannot be understood directly by computers, so this translation is necessary.

Make a choice

Windows

Product icon

Visual Studio Compiler (Microsoft)

Integrated into Visual Studio IDE.

Details

Pros

  • Integrated into the IDE
  • Very easy installation, automatic configuration

Cons

  • Installation size (~5 GB)
  • Only on Windows

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Product icon

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on Windows, we use the MSYS2 package.

Details

Pros

  • Relatively small installation size (~1.5GB)
  • Multiplatform

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Linux

Product icon

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on Linux, we use the system package manager.

Details

Pros

  • Relatively small installation size (~1.5GB)
  • Multiplatform

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Product icon

Clang (LLVM Developer Group)

A good, multiplatform compiler.

Details

Pros

  • Multiplatform 🤔

Cons

  • Hard to install on Windows
  • Big installation size

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

MacOS

Product icon

Clang (LLVM Developer Group)

A good, multiplatform compiler. This is a fork of official clang project with some specific MacOS architecture tweaks. This package also contains debugging tools

Details

Pros

  • Multiplatform 🤔
  • The easiest to use on MacOS
  • Build-in lldb debugger

Cons

  • Usually support less language novelties from newer standards than original clang

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Product icon

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on MacOS, we use brew package manager.

Details

Pros

  • Relatively small installation size
  • Multiplatform

Cons

  • Hard (or impossible?) debugging, due to MacOS specific security application certificates

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Choose a compiler

A compiler is a necessary tool to program in C++.

What is a compiler

A compiler translates code written in C++ language into a format that is able to be read by computers. C++ code cannot be understood directly by computers, so this translation is necessary.

Make a choice

Windows

Product icon

Visual Studio Compiler (Microsoft)

Integrated into Visual Studio IDE.

Details

Pros

  • Integrated into the IDE
  • Very easy installation, automatic configuration

Cons

  • Installation size (~5 GB)
  • Only on Windows

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Product icon

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on Windows, we use the MSYS2 package.

Details

Pros

  • Relatively small installation size (~1.5GB)
  • Multiplatform

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Linux

Product icon

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on Linux, we use the system package manager.

Details

Pros

  • Relatively small installation size (~1.5GB)
  • Multiplatform

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Product icon

Clang (LLVM Developer Group)

A good, multiplatform compiler.

Details

Pros

  • Multiplatform 🤔

Cons

  • Hard to install on Windows
  • Big installation size

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

MacOS

Product icon

Clang (LLVM Developer Group)

A good, multiplatform compiler. This is a fork of official clang project with some specific MacOS architecture tweaks. This package also contains debugging tools

Details

Pros

  • Multiplatform 🤔
  • The easiest to use on MacOS
  • Build-in lldb debugger

Cons

  • Usually support less language novelties from newer standards than original clang

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.

Product icon

GCC (GNU Compiler Collection) (The GNU Project)

A good, multiplatform compiler. To install it on MacOS, we use brew package manager.

Details

Pros

  • Relatively small installation size
  • Multiplatform

Cons

  • Hard (or impossible?) debugging, due to MacOS specific security application certificates

Note that this is only a summary of the most important information for novice programmers. For a full summary of the tool, please see this article.