CPPBuildGuide Guide how to build C/C++ projects from ground up: Compilation process Rust/C++ comparison Executables Static libraries Shared libraries CMake project