Your #include
directives (and therefore your interface definitions) are inside namespace Engine
, but it appears your implementations are not. That's giving you the link error.
You need to wrap the body of code in each of those .cpp files in namespace Engine
also.
ie:
#include "engine.h"
namespace Engine
{
// implementation goes here
}