title: While using #ifndef, .h file being added multiple times
body: <p>I am trying to use following pattern.</p>
  
  <pre><code>#ifndef TRACER_H
  #include "Tracer.h"
  #endif
  </code></pre>
  
  <p>This is statement is added to each file in the code such that tracer.h is added only once.
  Still I am getting an error saying multiple objects.</p>
  
  <p>Also Tracer.h contains</p>
  
  <pre><code>#ifndef TRACER_H
  #define TRACER_H
  </code></pre>
  
  <p>Here is the error;
  i tried pragma once as well:</p>
  
  <pre><code>1&gt;Generating Code...
  1&gt;Linking...
  1&gt;LINK : \\stu05-fsrv.ad.syr.edu\akbhat$\Visual Studio 2008\Projects\Project3\Debug\Project3.exe not found or not built by the last incremental link; performing full link
  1&gt;SemiExpression.obj : error LNK2005: "class std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt; &amp; __cdecl operator&lt;&lt;(class std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt; &amp;,class tracer &amp;)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@AAVtracer@@@Z) already defined in main.obj
  1&gt;SemiExpression.obj : error LNK2005: "private: static class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; tracer::log" (?log@tracer@@0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in main.obj
  1&gt;Tokenizer.obj : error LNK2005: "class std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt; &amp; __cdecl operator&lt;&lt;(class std::basic_ostream&lt;char,struct std::char_traits&lt;char&gt; &gt; &amp;,class tracer &amp;)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@AAVtracer@@@Z) already defined in main.obj
  1&gt;Tokenizer.obj : error LNK2005: "private: static class std::basic_string&lt;char,struct std::char_traits&lt;char&gt;,class std::allocator&lt;char&gt; &gt; tracer::log" (?log@tracer@@0V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) already defined in main.obj
  1&gt;\\stu05-fsrv.ad.syr.edu\akbhat$\Visual Studio 2008\Projects\Project3\Debug\Project3.exe : fatal error LNK1169: one or more multiply defined symbols found
  1&gt;Build log was saved at "file://\\stu05-fsrv.ad.syr.edu\akbhat$\Visual Studio 2008\Projects\Project3\Project3\Debug\BuildLog.htm"
  </code></pre>