Home C++ List of compilers, IDEs and build systems for C++

List of compilers, IDEs and build systems for C++

This is a useful list of compilers, build systems and IDE's for C++

Compiler

List of C or C++ compilers

  • 8cc – A Small C Compiler.
  • c – Compile and execute C “scripts” in one go! [MIT]
  • Clang – A C compiler for LLVM. Supports C++11/14/1z C11. Developed by LLVM Team. [NCSA]
  • GCC – GNU Compiler Collection. Supports C++11/14/1z C11 and OpenMP. [GNU GPL3]
  • PCC – A very old C compiler. Supports C99.
  • Intel C++ Compiler – Developed by Intel.
  • LLVM – Collection of modular and reusable compiler and toolchain technologies.
  • Microsoft Visual C++ – MSVC, developed by Microsoft.
  • Open WatCom – Watcom C, C++, and Fortran cross compilers and tools. [Sybase Open Watcom Public License]
  • Oracle Solaris Studio – C, C++ and Fortran compiler for SPARC and x86. Supports C++11. Available on Linux and Solaris. [OTN Developer License]
  • TCC – Tiny C Compiler. [LGPL]

Online Compiler

List of online C or C++ compilers

  • codepad – An online compiler/interpreter, and a simple collaboration tool.
  • coliru – Online compiler/shell with support for various C++ compilers.
  • Compiler Explorer – An interactive compiler with assembly output available.
  • CompileOnline – Compile and Execute C++ online on Linux.
  • Ideone – An online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.
  • repl.it – A powerful yet simple tools and platforms for educators, learners, and developers.
  • Rextester – Online compiler which provides several compilers(Clang, GCC, MSVC) and several editors.
  • Rise4Fun – Online Visual C++ compiler.
  • Try It Online – TIO is a family of online interpreters for an evergrowing list of practical and recreational programming languages.
  • Wandbox – An online Clang/GCC compiler with Boost available.

Debugger

List of C or C++ debuggers

  • Comparison of debuggers – A list of Debuggers from Wikipedia.
  • GDB – GNU Debugger.
  • LLDB – The LLDB Debugger.
  • Metashell – An interactive template metaprogramming shell which includes the MDB metadebugger.
  • Valgrind – A tool for memory debugging, memory leak detection, and profiling.
  • x64dbg – An open-source x64/x32 debugger for windows.

Integrated Development Environment

List of C or C++ nominal IDEs.

  • Anjuta DevStudio – The GNOME IDE. [GPL3]
  • AppCode – an IDE for Objective-C, C, C++, and JavaScript development built on JetBrains’ IntelliJ IDEA platform.
  • Cevelop – Cross-platform C and C++ IDE based on Eclipse CDT with additional plug-ins.
  • CLion – Cross-platform C and C++ IDE from JetBrains.
  • Code::Blocks – A free C, C++ and Fortran IDE.
  • CodeLite – Another cross-plaform, free C and C++ IDE. [GPL2 with an exception for plugins]
  • color_coded – A vim plugin for libclang-based highlighting. [MIT]
  • Dev-C++ – A portable C/C++/C++11 IDE.
  • Eclipse CDT – A fully functional C and C++ IDE based on the Eclipse platform.
  • Geany – Small, fast, cross-platform IDE. [GPL]
  • IBM VisualAge – A family of computer integrated development environments from IBM.
  • Irony-mode – A C/C++ minor mode for Emacs powered by libclang.
  • juCi++ – Cross-platform, lightweight C++ IDE with libclang integration. [MIT]
  • KDevelop – A free, open source IDE.
  • Microsoft Visual Studio – An IDE from Microsoft.
  • NetBeans – An IDE for developing primarily with Java, but also with other languages, in particular PHP, C/C++, and HTML5.
  • Qt Creator ⚡️ – A cross-platform C++, JavaScript and QML IDE which is part of the SDK for Qt.
  • rtags – A c/c++ client/server indexer with for integration with emacs based on clang.
  • Xcode – Developed by Apple.
  • YouCompleteMe – YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.
  • cquery – A C++ code completion engine for vscode, emacs, vim, etc.

Build Systems

  • Bazel – A multi-language, fast and scalable build system from Google. [Apache]
  • Bear – A tool to generate compilation database for clang tooling. [GPLv3]
  • Buck – A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages including C++ developed and used at Facebook. Written in Java. [Apache]
  • clib – Package manager for the C programming language. [MIT]
  • CMake – Cross-platform free and open-source software for managing the build process of software using a compiler-independent method. [BSD]
  • C++ Archive Network – Cross-platform C++ Dependency Manager with a lot of packages available.
  • Cget – Cmake package retrieval. [Boost] website
  • Conan – C/C++ Package Manager, open sourced. [MIT]
  • CPM – A C++ Package Manager based on CMake and Git.
  • FASTBuild – High performance, open-source build system supporting highly scalable compilation, caching and network distribution.
  • Hunter – CMake driven cross-platform package manager for C++. [BSD-2]
  • MesonBuild – An open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible.
  • Ninja – A small build system with a focus on speed.
  • Scons – A software construction tool configured with a Python script.
  • Sconsolidator – Scons build system integration for Eclipse CDT.
  • Spack – A flexible package manager that supports multiple versions, configurations, platforms, and compilers. [Apache-2.0/MIT]
  • tundra – High-performance code build system designed to give the best possible incremental build times even for very large software projects.
  • tup – File-based build system that monitors in the background for changed files.
  • Premake – A tool configured with a Lua script to generate project files for Visual Studio, GNU Make, Xcode, Code::Blocks, and more across Windows, Mac OS X, and Linux.
  • Vcpkg – C++ library manager for Windows, Linux, and MacOS. [MIT]
  • waf – Python-based framework for configuring, compiling and installing applications. [BSD] website
  • XMake – A C/C++ cross-platform build utility based on Lua. [Apache]

You may also like