[SOLVED] Need help fixing a 'One Definition Rule' violation

So your challenge are the class variables

BlockNot* BlockNot::firstTimer   = nullptr;
BlockNot* BlockNot::currentTimer = nullptr;

Which get defined multiple times if you inject the cpp file into a source code file.

You should indeed just build a .h with the class declaration (prototype of the methods and member variables) and then have the cpp in which you define the class variables.