title: Using defined value in include
body: <p>I have <code>#include</code> file structures like following:</p>
  
  <pre><code>#include &lt;core/mod1/file1.hpp&gt;
  #include &lt;core/mod1/file2.hpp&gt;
  #include &lt;core/mod1/mod2/.../modN/fileN.hpp&gt;
  </code></pre>
  
  <p>And there are such includes in each file. For example, in file <code>core/mod1/file1.hpp</code> there might be <code>#include &lt;core/mod3/file5.hpp&gt;</code>.
  Here <code>core</code> is the name of my library. But I want to use <code>core_new</code> instead of <code>core</code> in the entire project, without modifying all files (actually a lot).
  I have tried to add a <code>#define core core_new</code>, hoping that is will kind of substitute what I need:</p>
  
  <pre><code>#define core core_new
  #include &lt;core/mod1/file1.hpp&gt;
  #include &lt;core/mod1/file2.hpp&gt;
  #include &lt;core/mod1/mod2/.../modN/fileN.hpp&gt;
  </code></pre>
  
  <p>But it does NOT do it: <code>core/mod1/file1.hpp</code> is being included instead of <code>core_new/mod1/file1.hpp</code>.
  Is there a way to achieve it?</p>