Is it just me or are there some old dangling headers in the include folder? For example, Window.hpp under include differs from the one under src, and by including the one from include it results in compiler errors. Same applies to RenderWindow. It's confusing and prone to errors being set up like this. If the directory structure is going to imply the seperation of source and headers it needs to stick to it, and only have header versions of user usable classes in the header folder, unless you mean to keep 2 copies of these files in sync, which is too prone to errors to be practical.