Skip to content
UPEEC

C++ Build Tools and Code Quality

Build systems, package managers, compilers, debuggers, analysers, test and benchmark frameworks.

Intermediate
Comments 0

This is an overview — pick a sub-topic below.

Sub-topics (21)

CMake

The de-facto C++ build generator.

Easy♥ 0🔖 0💬 0

Ninja

A small, very fast build executor, usually generated by CMake or Meson.

Easy♥ 0🔖 0💬 0

Make

The classic build tool driven by Makefiles of targets, dependencies and recipes.

Easy♥ 0🔖 0💬 0

Meson

A fast, user-friendly build system with a Python-like syntax, using Ninja underneath.

Intermediate♥ 0🔖 0💬 0

Conan

A C/C++ package manager with binary package caching.

Intermediate♥ 0🔖 0💬 0

vcpkg

Microsoft's cross-platform C/C++ library manager, integrated with CMake.

Easy♥ 0🔖 0💬 0

Compiler Flags

Options that control warnings, optimisation, standards and debug info.

Easy♥ 0🔖 0💬 0

GCC

The GNU Compiler Collection — the standard on Linux and for ARM embedded (arm-none-eabi-gcc).

Easy♥ 0🔖 0💬 0

Clang

The LLVM-based compiler with clear diagnostics and the tooling ecosystem (clang-tidy, clang-format, clangd).

Easy♥ 0🔖 0💬 0

MSVC

Microsoft's C++ compiler in Visual Studio.

Easy♥ 0🔖 0💬 0

GDB for C++

The GNU debugger understands classes, templates and STL containers (with pretty-printers).

Easy♥ 0🔖 0💬 0

LLDB

LLVM's debugger, default with Xcode and usable on Linux/Windows.

Easy♥ 0🔖 0💬 0

Sanitizers for C++

ASan, UBSan, TSan and MSan detect memory errors, UB, data races and uninitialised reads.

Intermediate♥ 0🔖 0💬 0

Static Analysis for C++

Tools that find bugs without running code — null dereferences, leaks, misuse of APIs.

Intermediate♥ 0🔖 0💬 0

clang-tidy

A linter with hundreds of checks including Core Guidelines and modernisation.

Intermediate♥ 0🔖 0💬 0

cppcheck

A free static analyser focused on real bugs with few false positives; has MISRA add-ons.

Easy♥ 0🔖 0💬 0

GoogleTest

Google's C++ unit testing and mocking framework.

Easy♥ 0🔖 0💬 0

Catch2

A modern, expressive test framework with natural assertions and BDD sections.

Easy♥ 0🔖 0💬 0

doctest

A super-light, fast-compiling test framework; tests can live next to the code.

Easy♥ 0🔖 0💬 0

Google Benchmark

Microbenchmarking library that measures code reliably.

Intermediate♥ 0🔖 0💬 0

ABI Compatibility

Whether binaries compiled separately can work together — sensitive to compiler, standard library and class layout changes.

Advanced♥ 0🔖 0💬 0

Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.

Discussion (0)

Sign in or join free to ask questions and discuss this topic.