title: Generate include file name in a macro
body: <p>I'm trying to generate include file name in macro. This is supposed to be legal in C++:</p>
  
  <pre><code>#define INCLUDE_FILE "module_impl_win.hpp"
  #include INCLUDE_FILE
  </code></pre>
  
  <p>this works fine, but as soon as I try to generated file name it failes to compile</p>
  
  <pre><code>#define INCLUDE_FILE(M) M##"_impl_win.hpp"
  #include INCLUDE_FILE("module")
  </code></pre>
  
  <p>Actually it gives me warning on MSVC2010</p>
  
  <blockquote>
    <p>warning C4067: unexpected tokens following preprocessor directive - expected a newlin</p>
  </blockquote>
  
  <p>but it doesn't include the file.</p>
  
  <p>What is the problem? How can I get rid of it?</p>