Ready-to-use C++ development environment container consist of fully open-source, free software.
Image is based on debian:sid
image, since it's bleeding edge and the repositories have the most recent released tool versions available.
VSCode remote-containers extension support
This image is compatible with Visual Studio Code's Remote-Containers extension. You have several options to use it.
1: Use as a base image to .devcontainer/Dockerfile
FROM mustafagilor:cpp-devenv
2: Use as main dockerfile in .devcontainer/docker-compose.yml
version: '3'
services:
service-name:
image: "mustafagilor:cpp-devenv"
This image is tested with GitLab CI, and currently used for several projects in production.
image: mustafagilor/cpp-devenv:latest
Debian package name |
Description |
Version |
Available in |
gcc-10 |
GNU C Compiler |
>= 10.1.0-1 |
>= v1.0 |
g++-10 |
GNU C++ Compiler |
>= 10.1.0-1 |
>= v1.0 |
libstdc++-10-dev |
GNU Standard C++ Library v3 |
>= 10.1.0-1 |
>= v1.0 |
libc6-dev |
GNU Standard C Library |
>= 2.30-7 |
>= v1.0 |
gdb |
GNU Debugger |
>= 9.1-3 |
>= v1.0 |
llvm-10 |
LLVM Toolchain, Version 10 |
>= 1:10.0.0-4 |
>= v1.0 |
lldb-10 |
LLVM Debugger, Version 10 |
>= 1:10.0.0-4 |
>= v1.0 |
clang-10 |
LLVM C, C++, Objective C and Objective C++ Frontend, Version 10s |
>= 1:10.0.0-4 |
>= v1.0 |
clangd-10 |
Clang Language Server |
>= 1:10.0.0-4 |
>= v1.0 |
libc++-10-dev |
LLVM C++ Standard Library |
>= 1:10.0.0-4 |
>= v1.0 |
Debian package name |
Description |
Version |
Available in |
make |
GNU Make |
>= 4.2.1-2 |
>= v1.0 |
ninja-build |
Ninja Build System |
>= 1.10.0-1 |
>= v1.0 |
autoconf |
Automatic Configure Script Builder |
>= 2.69-11.1 |
>= v1.0 |
automake |
Automatic Makefile Generator |
>= 1:1.16.2-1 |
>= v1.0 |
libtool |
GNU libtool |
>= 2.4.6-14 |
>= v1.0 |
m4 |
GNU m4 macro processor (required by autoconf) |
>= 1.4.18-4 |
>= v1.0 |
cmake |
Cross platform build system generator |
>= 3.16.3-3 |
>= v1.0 |
ccache |
Compiler cache for fast recompilation of C/C++ code |
>= 3.7.9-1 |
>= v1.0 |
Debian package name |
Description |
Version |
Available in |
git |
fast, scalable, distributed revision control system |
>= 1:2.26.2-1 |
>= v1.0 |
git-flow |
Git extension to provide a high-level branching model |
>= 1.12.3-1 |
>= v1.0 |
Debian package name |
Description |
Version |
Available in |
python3 |
Python scripting language interpreter |
>= 3.8.2-3 |
>= v1.0 |
Debian package name |
Description |
Version |
Available in |
pip3 |
Python package installer |
>= 20.1-2 |
>= v1.0 |
conan (via pip3) |
C++ Package Manager |
>= 1.25.0 |
>= v1.0 |
Code linter/formatter & static analyzers
Debian package name |
Description |
Version |
Available in |
clang-format-10 |
Tool to format C/C++/Obj-C code |
>= 1:10.0.0-4 |
>= v1.0 |
clang-tidy-10 |
clang-based C++ linter tool |
>= 1:10.0.0-4 |
>= v1.0 |
iwyu |
Analyze #includes in C and C++ source files |
>= 8.0-4 |
>= v1.0 |
cppcheck |
tool for static C/C++ code analysis (CLI) |
>= 1.90-4 |
>= v1.0 |
Tracing/diagnostics/analysis
Debian package name |
Description |
Version |
Available in |
valgrind |
instrumentation framework for building dynamic analysis tools |
>= 1:3.15.0-1 |
>= v1.0 |
Unit testing/mocking/benchmarking
Debian package name |
Description |
Version |
Available in |
libgtest-dev |
Google's framework for writing C++ unit tests |
>= 1.10.0-3 |
>= v1.0 |
libgmock-dev |
Google's framework for writing C++ mock code |
>= 1.10.0-3 |
>= v1.0 |
libbenchmark-dev |
Microbenchmark support library, development files |
>= 1.5.0-4 |
>= v1.0 |
Debian package name |
Description |
Version |
Available in |
lcov |
Summarise Code coverage information from GCOV |
>= 1.14-2 |
>= v1.0 |
gcovr |
Manages the compilation of coverage information from gcov |
>= 4.2-1 |
>= v1.0 |
Debian package name |
Description |
Version |
Available in |
doxygen |
Documentation system for C, C++, Java, Python and other languages |
>= 1.8.17-1 |
>= v1.0 |
doxygen-latex |
Adds latex format support for doxygen document generation |
>= 1.8.17-1 |
>= v1.0 |
doxygen-doxyparse |
multi-language source code parser based on Doxygen |
>= 1.8.17-1 |
>= v1.0 |
graphviz |
rich set of graph drawing tools |
>= 2.42.2-4 |
>= v1.0 |
Debian package name |
Description |
Version |
Available in |
iproute2 |
networking and traffic control tools |
>= 5.6.0-1 |
>= v1.0 |
procps |
/proc file system utilities |
>= 2:3.3.16-4 |
>= v1.0 |
lsb-release |
Linux Standard Base version reporting utility |
>= 11.1.0 |
>= v1.0 |
This project is licensed under MIT license. See LICENSE file for details.