It is possible to have circular dependencies even if use #pragma once.
I have seen that once before, which was introduced by 4 classes (Character-MethodPicker-Method-Object) when attempting using Strategy Pattern. I solved in converting all unnecessary include in headers files to only forward-declare on the global scope and added all needed in .cpp files.
If that possible to provide the source of your project to pinpoint where the includes go crazy?