I have published a boilerplate setup for isolated builds of C/C++ on
This is my solution for C++ build problems that I raised before with
FSUG. The issue is that C and C++ presently doesn't have good package
management solutions. The dependencies (libraries, headers etc) are
often taken from the system environment.
The dependencies in the system environment very often don't match the
project requirements. This is especially bad when multiple projects need
different versions of the same dependency. Another issue is of
undocumented dependency, which can happen when it is already present in
the developer's system.
The solution is to use an isolated build environment. Each project has
its own build environment with specific dependency versions. System
environment doesn't affect the build. The solution uses Guix (package
manager), Meson (build configuration), pkg-config (dependency location
and flags) and Ninja (build tool).
Feel free to try, use and ask any questions.
Gokul Das B