title: include undeclared vars errors, circular reference C++
body: <p>There are two .hpp files</p>
  
  <p>fileSystemUser.hpp </p>
  
  <pre><code>#pragma once
  #include "main.h"
  #include "fileCommands.hpp"//!!!Problem
  #include "fileObject.hpp"
  class FileSystemUser {
      ...
      void start() {
          FileCommands fc;
          ...
      }
     ....
  }
  </code></pre>
  
  <p>fileCommands.hpp</p>
  
  <pre><code>#pragma once
  #include "main.h"
  #include "stringService.hpp"
  #include "fileSystemUser.hpp" //!!!Problem
  #include "debug.hpp"
  class FileCommands {
      int analyze(string command, FileSystemUser* fileSystem) {...}
  }
  </code></pre>
  
  <p>I build in this way:<br>
  • cmake -G "MinGW Makefiles" .. <br>
  • make //I've copied and renamed cmake-32.exe in mingw bin folder</p>
  
  <p>The problem at step build after printing make:
  I have a lot of errors. All of them about undeclared FileSystemUser. I think that problem about includes I put at those includes //!!!Problem.</p>
  
  <p>How to fix this?</p>