title: Visual C++ 2008 Express - cpp filename conflict
body: <p>I'm developing application for GNU/Linux using gcc 4 and cmake to manage compilation process. I found that is has no problems when there are two files with the same name but in other directory and namespace like this:</p>
  
  <pre><code>.  
  |-- gfx  
  |   |-- Object.cpp  
  |   `-- Object.h  
  `-- logic  
      |-- Object.cpp  
      `-- Object.h  
  </code></pre>
  
  <p>First Object class is in Gfx namespace and second in Logic namespace.</p>
  
  <p>Then I've tried to compile this project using Visual C++ 2008 Express Edition. Linker threw several errors about non-existing implementation of Gfx::Object class. After few checks I found out that:</p>
  
  <ul>
  <li>Visual C++ is tracking two of Object.cpp files</li>
  <li>When change occurs in first or second file the recompilation of Object unit is queued</li>
  <li>It always recompile only the second Object.cpp regardless of which file was actually modified</li>
  </ul>
  
  <p>I also found out that Visual C++ don't allow to create two classes with same name.</p>
  
  <p>Is there a solution for this? I don't really want to refactor quite big part of code.</p>