The entire source code is documentated for better understanding.
first of all, you need to have SDL2 installed on your linux machine.
to compile with debug mode ( only available on linux and window ): g++ -std=c++17 -DENABLE_DEBUG_MODE *.cpp -lSDL2
to simply compile: g++ -std=c++17 *.cpp -lSDL2